From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steven Whitehouse Date: Tue, 07 Dec 2010 19:20:06 +0000 Subject: [Cluster-devel] [GFS2 Patch] fsck.gfs2 reported statfs error after gfs2_grow In-Reply-To: <25459799.341761291748336229.JavaMail.root@zmail06.collab.prod.int.phx2.redhat.com> References: <25459799.341761291748336229.JavaMail.root@zmail06.collab.prod.int.phx2.redhat.com> Message-ID: <1291749606.2451.30.camel@dolmen> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hi, Now in the -nmw git tree. Thanks, Steve. On Tue, 2010-12-07 at 13:58 -0500, Bob Peterson wrote: > Hi, > > When you do gfs2_grow it failed to take the very last > rgrp into account when adding up the new free space due > to an off-by-one error. It was not reading the last > rgrp from the rindex because of a check for "<=" that > should have been "<". Therefore, fsck.gfs2 was finding > (and fixing) an error with the system statfs file. > > Regards, > > Bob Peterson > Red Hat GFS > > Signed-off-by: Bob Peterson > -- > fs/gfs2/rgrp.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c > index 25dbe5c..7293ea2 100644 > --- a/fs/gfs2/rgrp.c > +++ b/fs/gfs2/rgrp.c > @@ -500,7 +500,7 @@ u64 gfs2_ri_total(struct gfs2_sbd *sdp) > for (rgrps = 0;; rgrps++) { > loff_t pos = rgrps * sizeof(struct gfs2_rindex); > > - if (pos + sizeof(struct gfs2_rindex) >= i_size_read(inode)) > + if (pos + sizeof(struct gfs2_rindex) > i_size_read(inode)) > break; > error = gfs2_internal_read(ip, &ra_state, buf, &pos, > sizeof(struct gfs2_rindex));