This is the mail archive of the cluster-cvs@sourceware.org mailing list for the cluster.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

cluster: STABLE3 - Removed check for incorrect height


Gitweb:        http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=0f6530f6b58cd43cb35745dd1b4e96c16673384c
Commit:        0f6530f6b58cd43cb35745dd1b4e96c16673384c
Parent:        beaa8c5974aaaa016f49251cbf0e99ed166ad1db
Author:        Bob Peterson <rpeterso@redhat.com>
AuthorDate:    Tue Jun 9 22:32:09 2009 -0500
Committer:     Bob Peterson <rpeterso@redhat.com>
CommitterDate: Tue Jun 9 22:44:30 2009 -0500

Removed check for incorrect height

bz 503083 -  GFS2: Dinode #33129 (0x8169) has bad height
Found 1, Expected >= 2

Basically, commit 9b8c81d1 allowed gfs2 to have dinode
sizes (via truncate, etc.) that are bigger than the
metadata tree would suggest.  Therefore, the check for
an invalid height size needed to be removed from pass1.
---
 gfs2/fsck/pass1.c |   21 ---------------------
 1 files changed, 0 insertions(+), 21 deletions(-)

diff --git a/gfs2/fsck/pass1.c b/gfs2/fsck/pass1.c
index f056fc8..d3cf70c 100644
--- a/gfs2/fsck/pass1.c
+++ b/gfs2/fsck/pass1.c
@@ -699,27 +699,6 @@ static int handle_di(struct gfs2_sbd *sdp, struct gfs2_buffer_head *bh,
 		return -1;
 	}
 
-	/* FIXME: fix height and depth here - wasn't implemented in
-	 * old fsck either, so no biggy... */
-	if (ip->i_di.di_height < compute_height(sdp, ip->i_di.di_size)){
-		log_warn( _("Dinode #%llu (0x%llx) has bad height  "
-			 "Found %u, Expected >= %u\n"),
-			 (unsigned long long)ip->i_di.di_num.no_addr,
-			 (unsigned long long)ip->i_di.di_num.no_addr,
-			 ip->i_di.di_height,
-			 compute_height(sdp, ip->i_di.di_size));
-			/* once implemented, remove continue statement */
-		log_warn( _("Marking inode invalid\n"));
-		if(gfs2_block_set(sdp, bl, block, gfs2_meta_inval)) {
-			stack;
-			fsck_inode_put(ip, f);
-			return -1;
-		}
-		gfs2_set_bitmap(sdp, block, GFS2_BLKST_FREE);
-		fsck_inode_put(ip, f);
-		return 0;
-	}
-
 	if (S_ISDIR(ip->i_di.di_mode) &&
 	    (ip->i_di.di_flags & GFS2_DIF_EXHASH)) {
 		if (((1 << ip->i_di.di_depth) * sizeof(uint64_t)) != ip->i_di.di_size){


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]