From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13905 invoked by alias); 9 Sep 2009 15:08:07 -0000 Received: (qmail 13857 invoked by alias); 9 Sep 2009 15:08:07 -0000 X-SWARE-Spam-Status: No, hits=-1.5 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS X-Spam-Status: No, hits=-1.5 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS X-Spam-Check-By: sourceware.org X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on bastion2.fedora.phx.redhat.com Subject: cluster: STABLE3 - fsck.gfs2 unable to fix some rindex corruption for block size < 4K To: cluster-cvs-relay@redhat.com X-Project: Cluster Project X-Git-Module: cluster.git X-Git-Refname: refs/heads/STABLE3 X-Git-Reftype: branch X-Git-Oldrev: 7b104c967022cf1d1b961e65ebd9796edf485c4f X-Git-Newrev: 0a053b10bf5888a0bc879296bef6fe7e5565400a From: Bob Peterson Message-Id: <20090909150746.88276120195@lists.fedorahosted.org> Date: Wed, 09 Sep 2009 15:08:00 -0000 X-Scanned-By: MIMEDefang 2.67 on 10.5.11.21 Mailing-List: contact cluster-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: cluster-cvs-owner@sourceware.org X-SW-Source: 2009-q3/txt/msg00330.txt.bz2 Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=0a053b10bf5888a0bc879296bef6fe7e5565400a Commit: 0a053b10bf5888a0bc879296bef6fe7e5565400a Parent: 7b104c967022cf1d1b961e65ebd9796edf485c4f Author: Bob Peterson AuthorDate: Wed Sep 9 09:51:36 2009 -0500 Committer: Bob Peterson CommitterDate: Wed Sep 9 10:09:17 2009 -0500 fsck.gfs2 unable to fix some rindex corruption for block size < 4K This patch fixes libgfs2 so that the superblock location is adjusted properly after the block size is known. That enables fsck.gfs2 to properly place the damaged first rindex entry. rhbz#520762 --- gfs2/libgfs2/super.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/gfs2/libgfs2/super.c b/gfs2/libgfs2/super.c index d521f99..ba3af34 100644 --- a/gfs2/libgfs2/super.c +++ b/gfs2/libgfs2/super.c @@ -106,6 +106,7 @@ int read_sb(struct gfs2_sbd *sdp) error = -1; } sdp->fssize = lseek(sdp->device_fd, 0, SEEK_END) / sdp->sd_sb.sb_bsize; + sdp->sb_addr = GFS2_SB_ADDR * GFS2_BASIC_BLOCK / sdp->bsize; out: