freebsd-dev/sys
Xin LI a16baf37b9 The recomputation of file system summary at mount time can be a
very slow process, especially for large file systems that is just
recovered from a crash.

Since the summary is already re-sync'ed every 30 second, we will
not lag behind too much after a crash.  With this consideration
in mind, it is more reasonable to transfer the responsibility to
background fsck, to reduce the delay after a crash.

Add a new sysctl variable, vfs.ffs.compute_summary_at_mount, to
control this behavior.  When set to nonzero, we will get the
"old" behavior, that the summary is computed immediately at mount
time.

Add five new sysctl variables to adjust ndir, nbfree, nifree,
nffree and numclusters respectively.  Teach fsck_ffs about these
API, however, intentionally not to check the existence, since
kernels without these sysctls must have recomputed the summary
and hence no adjustments are necessary.

This change has eliminated the usual tens of minutes of delay of
mounting large dirty volumes.

Reviewed by:	mckusick
MFC After:	1 week
2005-02-20 08:02:15 +00:00
..
alpha Use a common multi-inclusion protection, and add such a 2005-02-19 21:16:48 +00:00
amd64 Use a common multi-inclusion protection, and add such a 2005-02-19 21:16:48 +00:00
arm Removing the #endif as well sounds like a good idea. 2005-02-20 01:26:01 +00:00
boot Document the new default init_path. 2005-02-17 11:14:45 +00:00
bsm Add a stub audit_kevents.h, which defines exactly one audit event: 2005-02-02 14:27:36 +00:00
cam Remove a shadow declaration of 'error' that caused certain tests to be 2005-02-12 04:51:19 +00:00
coda Remove vop_destroyvobject() initialization. 2005-02-07 08:04:24 +00:00
compat - Add a custom version of exec_copyin_args() to deal with the 32-bit 2005-02-18 18:56:04 +00:00
conf Add support for Windows/x86-64 binaries to Project Evil. 2005-02-16 05:41:18 +00:00
contrib Fix inteface clear time. pf printed "Thu Jan 1 09:00:01 1970" 2005-02-17 03:36:31 +00:00
crypto Start the dreaded NOFOO -> NO_FOO conversion. 2004-12-21 08:47:35 +00:00
ddb Start each of the license/copyright comments with /*- 2005-01-06 01:34:41 +00:00
dev Add a note that all four HME chips on a SUNW,qfe card share the same PROM, 2005-02-20 01:52:43 +00:00
doc
fs Remove basically unused root_vp pointer in udfmount. 2005-02-18 11:47:51 +00:00
gdb /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 18:27:30 +00:00
geom Try to unbreak the vnode locking around vop_reclaim() (based mostly on 2005-02-19 11:44:57 +00:00
gnu Make a SYSCTL_NODE static 2005-02-10 12:23:29 +00:00
i4b /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 22:18:23 +00:00
i386 Use a common multi-inclusion protection, and add such a 2005-02-19 21:16:48 +00:00
ia64 Use a common multi-inclusion protection, and add such a 2005-02-19 21:16:48 +00:00
isa Use the local APIC timer to drive the various kernel clocks on SMP machines 2005-02-08 20:25:07 +00:00
isofs/cd9660 Conditionalize cd9660 chattiness regarding the nature of the file system 2005-02-18 10:49:55 +00:00
kern Move assignment of UNIX domain socket pcb during unp_attach() outside 2005-02-20 04:18:22 +00:00
libkern Add strspn() to libkern. 2005-02-10 20:39:39 +00:00
modules Add support for Windows/x86-64 binaries to Project Evil. 2005-02-16 05:41:18 +00:00
net Allocate the M_VLANTAG m_pkthdr flag, and use it to indicate that 2005-02-18 22:31:19 +00:00
net80211 rev 1.19 fixed wpa supplicant but broke wpa authenticator; when operating 2005-02-10 17:00:48 +00:00
netatalk Run the netatalk netisrs without Giant. 2005-02-18 10:53:00 +00:00
netatm Mark netatm and netnatm explicitly as requiring Giant, as they still do. 2005-02-17 14:21:22 +00:00
netgraph Reimplement recursion protection, checking whether current thread holds 2005-02-19 14:41:49 +00:00
netinet Remove 2 (SACK) fields from the tcpcb. These are only used by a 2005-02-17 23:04:56 +00:00
netinet6 Add missed merge of ripcbinfo extern. Given how widely used 2005-02-09 01:12:43 +00:00
netipsec /* -> /*- for license, minor formatting changes 2005-01-07 01:45:51 +00:00
netipx Mark the IPX netisr as MPSAFE so that inbound IPX traffic is processed 2005-01-09 07:34:55 +00:00
netkey fixed an unexpected addr/port matching failure in IPv6 SA management 2005-01-10 13:06:42 +00:00
netnatm Mark netatm and netnatm explicitly as requiring Giant, as they still do. 2005-02-17 14:21:22 +00:00
netncp /* -> /*- for license, minor formatting changes 2005-01-07 01:45:51 +00:00
netsmb /* -> /*- for license, minor formatting changes 2005-01-07 01:45:51 +00:00
nfs /* -> /*- for license, minor formatting changes 2005-01-07 01:45:51 +00:00
nfs4client Remove unused cred arg from nfs_vinvalbuf() and many bogus arguments 2005-01-24 12:31:06 +00:00
nfsclient Try to unbreak the vnode locking around vop_reclaim() (based mostly on 2005-02-19 11:44:57 +00:00
nfsserver Don't try to create vnode_pager objects on other filesystems vnodes, 2005-01-24 22:09:13 +00:00
opencrypto /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
pc98 Merged from sys/dev/sio/sio.c revision 1.458. 2005-02-11 03:41:34 +00:00
pccard Remove more deadwood that never got implemented in NEWCARD, since NEWCARD 2005-02-15 02:54:53 +00:00
pci Correct the SiS 755 PCI ID. Confirmed against Linux code. 2005-02-14 07:30:04 +00:00
posix4 /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
powerpc Use a common multi-inclusion protection, and add such a 2005-02-19 21:16:48 +00:00
rpc /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
security Synchronize HEAD copyright/license with RELENG_5 copyright/license: 2005-02-13 13:59:34 +00:00
sparc64 Silence witness warnings about duplicate pmap lock emitted since 2005-02-18 15:37:34 +00:00
sys Bump __FreeBSD_version for the Intel C/C++ compiler GCC-compatibility 2005-02-19 13:48:53 +00:00
tools Add VOP_FOO_APV() which takes a pointer to the vop_vector. 2005-02-08 12:54:32 +00:00
ufs The recomputation of file system summary at mount time can be a 2005-02-20 08:02:15 +00:00
vm Try to unbreak the vnode locking around vop_reclaim() (based mostly on 2005-02-19 11:44:57 +00:00
Makefile Add a NO_BOOT knob to prevent building the boot blocks and loader. 2004-08-19 09:54:28 +00:00