diff options
author | Bob Peterson <rpeterso@redhat.com> | 2010-12-07 13:58:56 -0500 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2010-12-07 18:55:07 +0000 |
commit | bcd7278d8a423a255e45f4d10afe564328f1885f (patch) | |
tree | fe577aaa2b6c042978ae2b3e2306ab8a0cadcddd | |
parent | 47a25380e37f44db7202093ca92e4af569c34f55 (diff) | |
download | blackbird-op-linux-bcd7278d8a423a255e45f4d10afe564328f1885f.tar.gz blackbird-op-linux-bcd7278d8a423a255e45f4d10afe564328f1885f.zip |
GFS2: fsck.gfs2 reported statfs error after gfs2_grow
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.
Signed-off-by: Bob Peterson <rpeterso@redhat.com>
-rw-r--r-- | 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 25dbe5c84dff..7293ea27020c 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)); |