Gitweb:
http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=...
Commit: 28fd084202addc60b3dc0b064bd24179aac451c4
Parent: 8d754e9b2381229d8687f40b4ad0d81b8a0b3467
Author: Bob Peterson <bob(a)ganesha.peterson>
AuthorDate: Mon Jan 25 14:58:36 2010 -0600
Committer: Bob Peterson <rpeterso(a)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;