aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/recovery.c
diff options
context:
space:
mode:
authorSteven Whitehouse <swhiteho@redhat.com>2006-05-05 16:59:11 -0400
committerSteven Whitehouse <swhiteho@redhat.com>2006-05-05 16:59:11 -0400
commitfd88de569b802c4a04aaa6ee74667775f4aed8c6 (patch)
tree1766c45303798bf289059afc8f117cf8bc784086 /fs/gfs2/recovery.c
parent5bb76af1e089ac186c15c6aa792340d22b63d4b4 (diff)
[GFS2] Readpages support
This adds readpages support (and also corrects a small bug in the readpage error path at the same time). Hopefully this will improve performance by allowing GFS to submit larger lumps of I/O at a time. In order to simplify the setting of BH_Boundary, it currently gets set when we hit the end of a indirect pointer block. There is always a boundary at this point with the current allocation code. It doesn't get all the boundaries right though, so there is still room for improvement in this. See comments in fs/gfs2/ops_address.c for further information about readpages with GFS2. Signed-off-by: Steven Whitehouse
Diffstat (limited to 'fs/gfs2/recovery.c')
-rw-r--r--fs/gfs2/recovery.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/gfs2/recovery.c b/fs/gfs2/recovery.c
index d916817fb6e3..87adebea3bc3 100644
--- a/fs/gfs2/recovery.c
+++ b/fs/gfs2/recovery.c
@@ -40,8 +40,7 @@ int gfs2_replay_read_block(struct gfs2_jdesc *jd, unsigned int blk,
40 uint32_t extlen; 40 uint32_t extlen;
41 int error; 41 int error;
42 42
43 error = gfs2_block_map(ip, blk, &new, &dblock, 43 error = gfs2_extent_map(ip->i_vnode, blk, &new, &dblock, &extlen);
44 &extlen);
45 if (error) 44 if (error)
46 return error; 45 return error;
47 if (!dblock) { 46 if (!dblock) {
@@ -378,10 +377,11 @@ static int clean_journal(struct gfs2_jdesc *jd, struct gfs2_log_header *head)
378 uint32_t hash; 377 uint32_t hash;
379 struct buffer_head *bh; 378 struct buffer_head *bh;
380 int error; 379 int error;
381 380 int boundary;
381
382 lblock = head->lh_blkno; 382 lblock = head->lh_blkno;
383 gfs2_replay_incr_blk(sdp, &lblock); 383 gfs2_replay_incr_blk(sdp, &lblock);
384 error = gfs2_block_map(ip, lblock, &new, &dblock, NULL); 384 error = gfs2_block_map(ip->i_vnode, lblock, &new, &dblock, &boundary);
385 if (error) 385 if (error)
386 return error; 386 return error;
387 if (!dblock) { 387 if (!dblock) {