[Midnightbsd-cvs] src: mkfs.c: Author: mckusick Date: Tue Nov 23 01:32:44 2010 New

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Mon Nov 22 20:37:07 EST 2010


Log Message:
-----------
Author: mckusick
Date: Tue Nov 23 01:32:44 2010
New Revision: 215729
URL: http://svn.freebsd.org/changeset/base/215729

Log:
 MFC of 213119

 Reported problem:
 Large (60GB) filesystems created using "newfs -U -O 1 -b 65536 -f 8192"
 show incorrect results from "df" for free and used space when mounted
 immediately after creation. fsck on the new filesystem (before ever
 mounting it once) gives a "SUMMARY INFORMATION BAD" error in phase 5.

 This error hasn't occurred in any runs of fsck immediately after
 "newfs -U -b 65536 -f 8192" (leaving out the "-O 1" option).

 Solution:
 The default UFS1 superblock is located at offset 8K in the filesystem
 partition; the default UFS2 superblock is located at offset 64K in
 the filesystem partition. For UFS1 filesystems with a blocksize of
 64K, the first alternate superblock resides at 64K which is the the
 location used for the default UFS2 superblock. By default, the
 system first checks for a valid superblock at the default location
 for a UFS2 filoesystem. For a UFS1 filesystem with a blocksize of
 64K, there is a valid UFS1 superblock at this location. Thus, even
 though it is expected to be a backup superblock, the system will
 use it as its default superblock. So, we have to ensure that all the
 statistcs on usage are correct in this first alternate superblock
 as it is the superblock that will actually be used.

 While tracking down this problem, another limitation of UFS1 became
 evident. For UFS1, the number of inodes per cylinder group is stored
 in an int16_t. Thus the maximum number of inodes per cylinder group
 is limited to 2^15 - 1. This limit can easily be exceeded for block
 sizes of 32K and above. Thus when building UFS1 filesystems, newfs
 must limit the number of inodes per cylinder group to 2^15 - 1.

 Reported by: Guy Helmer<ghelmer at palisadesys.com>
 Followup by: Bruce Cran <brucec at freebsd.org>
 PR: 107692

Obtained from: FreeBSD

Modified Files:
--------------
    src/sbin/newfs:
        mkfs.c (r1.4 -> r1.5)
        (http://cvsweb.midnightbsd.org/src/sbin/newfs/mkfs.c?r1=1.4&r2=1.5)


More information about the Midnightbsd-cvs mailing list