Explorar el Código

GFS2: Correctly set goal block after allocation

The new goal block should be set to the end of the newly
allocated extent, not the start of it.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Steven Whitehouse hace 13 años
padre
commit
ccad4e147a
Se han modificado 1 ficheros con 1 adiciones y 1 borrados
  1. 1 1
      fs/gfs2/rgrp.c

+ 1 - 1
fs/gfs2/rgrp.c

@@ -1346,7 +1346,7 @@ int gfs2_alloc_block(struct gfs2_inode *ip, u64 *bn, unsigned int *n)
 
 
 	rgd->rd_last_alloc = blk;
 	rgd->rd_last_alloc = blk;
 	block = rgd->rd_data0 + blk;
 	block = rgd->rd_data0 + blk;
-	ip->i_goal = block;
+	ip->i_goal = block + *n - 1;
 	error = gfs2_meta_inode_buffer(ip, &dibh);
 	error = gfs2_meta_inode_buffer(ip, &dibh);
 	if (error == 0) {
 	if (error == 0) {
 		struct gfs2_dinode *di = (struct gfs2_dinode *)dibh->b_data;
 		struct gfs2_dinode *di = (struct gfs2_dinode *)dibh->b_data;