[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/ops_vm.c b/fs/gfs2/ops_vm.c
index dbc5707..d67248c 100644
--- a/fs/gfs2/ops_vm.c
+++ b/fs/gfs2/ops_vm.c
@@ -90,8 +90,7 @@
 	if (error)
 		goto out_gunlock_q;
 
-	gfs2_write_calc_reserv(ip, PAGE_CACHE_SIZE,
-			      &data_blocks, &ind_blocks);
+	gfs2_write_calc_reserv(ip, PAGE_CACHE_SIZE, &data_blocks, &ind_blocks);
 
 	al->al_requested = data_blocks + ind_blocks;
 
@@ -99,8 +98,7 @@
 	if (error)
 		goto out_gunlock_q;
 
-	error = gfs2_trans_begin(sdp,
-				 al->al_rgd->rd_ri.ri_length +
+	error = gfs2_trans_begin(sdp, al->al_rgd->rd_ri.ri_length +
 				 ind_blocks + RES_DINODE +
 				 RES_STATFS + RES_QUOTA, 0);
 	if (error)
@@ -117,7 +115,7 @@
 		unsigned int extlen;
 		int new = 1;
 
-		error = gfs2_block_map(ip, lblock, &new, &dblock, &extlen);
+		error = gfs2_extent_map(ip->i_vnode, lblock, &new, &dblock, &extlen);
 		if (error)
 			goto out_trans;