Date: Sun, 07 Jan 2001 15:07:54 +0000 From: Ian Dowse <iedowse@maths.tcd.ie> To: Jaye Mathisen <mrcpu@internetcds.com> Cc: hackers@freebsd.org, iedowse@maths.tcd.ie, Kirk McKusick <mckusick@mckusick.com> Subject: Re: fsck problem on large vinum volume Message-ID: <200101071507.aa79033@salmon.maths.tcd.ie> In-Reply-To: Your message of "Sat, 06 Jan 2001 15:01:07 PST." <20010106150106.X32287@apocalypse.cdsnet.net>
next in thread | previous in thread | raw e-mail | index | archive | help
In message <20010106150106.X32287@apocalypse.cdsnet.net>, Jaye Mathisen writes: > >I have a 930GB vinum volume >However, I can't fsck it, I have to always use the alternate block. >newsfeed-inn2# fsck /dev/vinum/v-spool >** /dev/vinum/v-spool >BAD SUPER BLOCK: VALUES IN SUPER BLOCK DISAGREE WITH THOSE IN FIRST ALTERNATE >/dev/vinum/v-spool: CANNOT FIGURE OUT FILE SYSTEM PARTITION Jaye sent me a ktrace.out for the fsck that was failing. It appears that the kernel had overshot the end of the superblock fs_csp[] array in ffs_mountfs(), since the list of pointers there extended through fs_maxcluster, fs_cpc, and fs_opostbl. This caused the mismatch between the master and alternate superblocks. The filesystem parameters were 8k/1k, and the total number of cylinder groups was 29782. fs_cssize was 29782*sizeof(struct csum) = 477184 bytes. Hence 477184/8192 = ~59 entries were being used in fs_csp, but fs_csp[] is only 31 entries long (15 on alpha). A larger block size should fix Jaye's case, but I think the correct solution is to fix the kernel so that it is not constrained by the MAXCSBUFS limit. There are a few ways to do this: - Store the fs_csp information in struct ufsmount rather than in the superblock. - Make use of the fact that the summary information is stored in one contigous region, and update the 'fs_csp' macro to find the right offset directly. I'll have a look and see which way looks neatest. Ian To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200101071507.aa79033>