[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
diff --git a/fs/gfs2/recovery.c b/fs/gfs2/recovery.c
index d916817..87adebe 100644
--- a/fs/gfs2/recovery.c
+++ b/fs/gfs2/recovery.c
@@ -40,8 +40,7 @@
 	uint32_t extlen;
 	int error;
 
-	error = gfs2_block_map(ip, blk, &new, &dblock,
-			       &extlen);
+	error = gfs2_extent_map(ip->i_vnode, blk, &new, &dblock, &extlen);
 	if (error)
 		return error;
 	if (!dblock) {
@@ -378,10 +377,11 @@
 	uint32_t hash;
 	struct buffer_head *bh;
 	int error;
-	
+	int boundary;
+
 	lblock = head->lh_blkno;
 	gfs2_replay_incr_blk(sdp, &lblock);
-	error = gfs2_block_map(ip, lblock, &new, &dblock, NULL);
+	error = gfs2_block_map(ip->i_vnode, lblock, &new, &dblock, &boundary);
 	if (error)
 		return error;
 	if (!dblock) {