From owner-freebsd-fs@FreeBSD.ORG Tue May 26 19:41:01 2009 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6021F106566B for ; Tue, 26 May 2009 19:41:01 +0000 (UTC) (envelope-from john@kozubik.com) Received: from kozubik.com (kozubik.com [69.43.165.2]) by mx1.freebsd.org (Postfix) with ESMTP id 48E3B8FC20 for ; Tue, 26 May 2009 19:41:00 +0000 (UTC) (envelope-from john@kozubik.com) Received: from kozubik.com (localhost [127.0.0.1]) by kozubik.com (8.12.11/8.12.11) with ESMTP id n4QJIujK059517 for ; Tue, 26 May 2009 12:18:56 -0700 (PDT) (envelope-from john@kozubik.com) Received: from localhost (john@localhost) by kozubik.com (8.12.11/8.12.11/Submit) with ESMTP id n4QJIusq059514 for ; Tue, 26 May 2009 12:18:56 -0700 (PDT) (envelope-from john@kozubik.com) Date: Tue, 26 May 2009 12:18:56 -0700 (PDT) From: John Kozubik To: freebsd-fs@freebsd.org Message-ID: <20090526120802.G94647@kozubik.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Subject: Improving fsck With Regard to Bad Cylinder Groups X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 26 May 2009 19:41:01 -0000 Friends, Kirk McKusick did some miscellaneous consulting for me earlier this year, and new fsck functionality was the unexpected result. Briefly: A filesystem with bad cylinder groups would cause messages like: fsck_ffs: cannot alloc 275829428 bytes for inoinfo to be output by fsck, and dumpfs (before dumping core) would show cylinder groups with obviously out of bounds data. There were some patches floating around that added a '-D' option to fsck, giving it the ability to repair cylinder groups. However these patches were not implemented properly, and their use would only compound your problem. Now, there is a patch added to CURRENT that makes cylinder group repair "one of the standard things that fsck does when running in manual (non-preen) mode." So the non-standard '-D' switch is no longer required. Full details are here: http://blog.kozubik.com/john_kozubik/2009/05/improving-fsck-with-regard-to-bad-cylinder-groups.html and it should be noted that if you are not CURRENT, or if you need a 6.x i386 binary with this functionality immediately, you can find it here: http://www.kozubik.com/binaries/freebsd/2009-01-00-freebsd_intermediate_fsck_fixes_cylinder_group_maps This intermediate binary has the working (albeit preliminary) cylinder group repair code, and unlike the final product WILL require the "old" '-D' switch to enable it. ----- John Kozubik - john@kozubik.com - http://www.kozubik.com