cluster: STABLE3 - fsck.gfs2: Free, don't invalidate, dinodes with bad depth

Bob Peterson rpeterso at fedoraproject.org
Tue Jan 26 21:21:25 UTC 2010


Gitweb:        http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=28fd084202addc60b3dc0b064bd24179aac451c4
Commit:        28fd084202addc60b3dc0b064bd24179aac451c4
Parent:        8d754e9b2381229d8687f40b4ad0d81b8a0b3467
Author:        Bob Peterson <bob at ganesha.peterson>
AuthorDate:    Mon Jan 25 14:58:36 2010 -0600
Committer:     Bob Peterson <rpeterso at redhat.com>
CommitterDate: Tue Jan 26 14:39:33 2010 -0600

fsck.gfs2: Free, don't invalidate, dinodes with bad depth

This patch makes fsck.gfs2 free up dinodes with an invalid depth
rather than marking them invalid.  If we mark them invalid, the
invalid depth itself will confuse the code that later tries to free
the metadata associated with the bad dinode.

rhbz#455300
---
 gfs2/fsck/pass1.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/gfs2/fsck/pass1.c b/gfs2/fsck/pass1.c
index 8bb5915..f50c4b6 100644
--- a/gfs2/fsck/pass1.c
+++ b/gfs2/fsck/pass1.c
@@ -1021,7 +1021,7 @@ static int handle_di(struct gfs2_sbd *sdp, struct gfs2_buffer_head *bh)
 				 ip->i_di.di_depth,
 				 (1 >> (ip->i_di.di_size/sizeof(uint64_t))));
 			if(fsck_blockmap_set(ip, block, _("bad depth"),
-					     gfs2_meta_inval)) {
+					     gfs2_block_free)) {
 				stack;
 				fsck_inode_put(&ip);
 				return -1;


More information about the cluster-commits mailing list