Revision
3950 -
Directory Listing
-
[select for diffs]
Modified
Fri May 27 00:58:26 2011 UTC
(12 years, 11 months ago)
by
laffer1
Diff to
previous 3919
Raise the default blocksize for UFS/FFS filesystems from
16K to 32K and the default fragment size from 2K to 4K.
The rational is that most disks are now running with 4K
sectors. While they can (slowly) simulate 512-byte sectors
by doing a read-modify-write, it is desirable to avoid this
functionality. By raising the minimum filesystem allocation
to 4K, the filesystem will never trigger the small sector
emulation.
Also, the growth of disk sizes has lead us to double the
default block size about every ten years. The rise from 8K
to 16K blocks was done in 2001. So, by the 10-year metric,
the time has come for 32K blocks.
Obtained from: FreeBSD, mckusick
Revision
3919 -
Directory Listing
-
[select for diffs]
Modified
Tue Apr 26 04:00:18 2011 UTC
(13 years ago)
by
laffer1
Diff to
previous 3567
Stop trying to zero UFS1 superblocks if we fall off the end of the disk or hit random partial data that looks like a superblock.
Obtained from: FreeBSD
Revision
3567 -
Directory Listing
-
[select for diffs]
Modified
Tue Nov 23 01:37:07 2010 UTC
(13 years, 6 months ago)
by
laffer1
Diff to
previous 3565
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@palisadesys.com>
Followup by: Bruce Cran <brucec@freebsd.org>
PR: 107692
Obtained from: FreeBSD
Revision
3565 -
Directory Listing
-
[select for diffs]
Modified
Sat Nov 20 17:49:41 2010 UTC
(13 years, 6 months ago)
by
laffer1
Diff to
previous 3074
Several portions of the kernel and userland code related to UFS file
systems (and UFS2) cannot properly handle inode counts above 2^31 due
to use of int types. Based on a patch from FreeBSD, I've modified
our UFS2 implementation to handle unsigned values for inode counts
which should allow for file systems greater than 16TB.
newfs and growfs was also modified.
Revision
1217 -
Directory Listing
-
[select for diffs]
Modified
Mon Sep 3 02:27:28 2007 UTC
(16 years, 8 months ago)
by
laffer1
Diff to
previous 3
Don't treat failure to find the operator GID as a fatal
error; this made it impossible to use newfs (and mdmfs) when /etc/group
is missing and /etc is read-only.
Obtained from FreeBSD
Revision
3 -
Directory Listing
-
[select for diffs]
Added
Sat Feb 25 02:29:52 2006 UTC
(18 years, 2 months ago)
by
laffer1
This commit was generated by cvs2svn to compensate for changes in r2, which
included commits to RCS files with non-trunk default branches.