freebsd-nq/sbin
Scott Long e7c4605481 3 important fixes for growfs:
1) ginode() is passed a cylinder group number and inode number.  The inode
number is relative to the cg.  Use this relative number rather than the
absolute inode number when searching the cg inode bitmap to see if the inode
is allocated.  Using the absolute number quickly runs the check off the end
of the array and causes invalid inodes to be referenced.

2) ginode() checks the absolute indoe number to make sure that it is greater
than ROOTINO.  However, the caller loops through all of the possible inode
numbers and directly passes in values that are < ROOTINO.  Instead of halting
the program with an error, just return NULL.

3) When allocating new cylinder groups, growfs was initializing all of the
inodes in the group regardless of this only being required for UFS1.  Not
doing this for UFS2 provides a significant performance increase.

These fixes allow growing a filesystem beyond a trivial amount and have
been tested to grow an 8GB filesystem to 1.9TB.  Much more testing would
be appreciated.

Obtained from: Sandvine, Inc.
2004-10-09 02:53:47 +00:00
..
adjkerntz
atacontrol Distinguish between TCQ and NCQ type of tagged queing. 2004-09-15 11:22:05 +00:00
atm
badsect
bsdlabel The disk labels generated by bsdlabel can no address more than 2004-09-09 07:46:53 +00:00
camcontrol
ccdconfig
clri
comcontrol
conscontrol
devd
devfs
dhclient
dmesg Don't add integers to void pointers. 2004-10-03 15:48:32 +00:00
dump
dumpfs
dumpon Promote mediasize and physmem to uintmax_t when comparing them. 2004-10-04 06:54:19 +00:00
fdisk
fdisk_pc98
ffsinfo
fsck
fsck_ffs Eliminate linked list used to track inodes with an initial link 2004-10-08 20:44:47 +00:00
fsck_msdosfs
fsdb
fsirand
gbde Fix a type bug which sometimes wrote unusable lock sectors on the disk. 2004-09-10 12:16:54 +00:00
geom Embellish the man page after trying to migrate to gstripe from ccd(4). 2004-09-26 17:29:09 +00:00
ggate Fix a deadlock in ggatel(8) simlar to one which was fixed some time 2004-10-02 16:58:33 +00:00
gpt
growfs 3 important fixes for growfs: 2004-10-09 02:53:47 +00:00
gvinum
idmapd
ifconfig Use a spare byte in struct if_data to store the structure size without 2004-09-01 18:22:14 +00:00
init Turns out that revision 1.52 was a bad idea. It broke the long 2004-09-28 04:22:55 +00:00
ip6fw
ipf
ipfs
ipfstat
ipfw Reference altq(4) instead of pf.conf(5). 2004-10-08 03:31:09 +00:00
ipmon
ipnat
kldconfig
kldload
kldstat
kldunload
ldconfig
mca
md5
mdconfig - Make md(4) 64-bit clean. 2004-09-16 21:32:13 +00:00
mdmfs
mknod
mksnap_ffs
mount
mount_autofs WARNS=4 safe. 2004-09-12 07:06:48 +00:00
mount_cd9660
mount_ext2fs
mount_hpfs
mount_msdosfs Correct a style bug: remove a gratuitous space between ( and ". 2004-08-31 05:19:57 +00:00
mount_nfs
mount_nfs4
mount_ntfs
mount_nullfs
mount_std
mount_udf
mount_umapfs
mount_unionfs
natd
newfs Fix '-s' option for large disks and fix printing maximum file system size. 2004-09-19 10:01:51 +00:00
newfs_msdos
nfsiod
nos-tun
pfctl Remove -I from CFLAGS. This splipped in with the 3.5 import (as I was 2004-10-03 06:19:22 +00:00
pflogd
ping o Store timestamp in network byte order. 2004-09-30 07:35:56 +00:00
ping6
quotacheck
rcorder
reboot Fixed desctiptions of some options: 2004-09-30 09:59:44 +00:00
recoverdisk Only print progress statistics once per second. 2004-10-08 10:50:40 +00:00
restore
route
routed
rtsol
savecore Use a local "compress" symbol corresponding to a variable in BSS, 2004-08-16 07:02:14 +00:00
sconfig
setkey
shutdown
slattach
spppcontrol
startslip
sunlabel
swapon
sysctl Use correct format string. 2004-09-17 17:08:44 +00:00
tunefs
umount
vinum
Makefile Hook mount_autofs to the build. 2004-09-12 01:25:47 +00:00
Makefile.inc