freebsd-nq/sys
Mike Pritchard db9b81eabc Quota system cleanup.
1) Do not do quota accounting for the actual quota data files
   or for file system snapshot files ("system" files).  This
   prevents a deadlock descibed in PR kern/30958 if the kernel
   ever has to grow the quota file.  Snapshot files were already
   exempt from the quota checks, but this change generalized the check.
2) Fix a cast that caused extremely large uids/gids to incorrectly
   write the quota information to the data file at a truncated
   value for a uint_t32 id value.  The incorrect cast caused quota
   files in this case to be around 4GB in size, with the correct cast
   they can now be 131GB in size.  Also related to PR kern/30958.
3) Check for what appear to be negative UIDs/GIDs and not account
   for them.  This prevents the quota files from becoming 131GB in
   size and causing quotacheck to run forever at bootup.  This could
   also cause the kernel to try and expand the quota file, which might
   deadlock due to the issue in #1.  kern/30958 and kern/38156
   (and some much older closed PR's).
4) With the deadlock problems gone, the kernel can now expand the
   size of the quota database files if it needs to.
5) Pass in the i-node count change value to chkiq and chkiqchg as an
   int, like it used to be before the common routine was split up
   into 2 different routines to increase / decrease the i-node in-use
   count.  Prevents an underflow on the i-node count.  Related
   to PR kern/89247.
6) Prevent the block usage from growing slowly if a file system is
   full and the write was denied due to that fact.  PR kern/89247.

Some of these changes require an updated quotacheck to prevent
the creation of huge (131GB) quota data files (item #3).

#1/#4 probably fixes a lot of the random hangs when quotas are enabled,
possibly some of the jail hangs.
2007-01-20 11:58:32 +00:00
..
amd64 Revert previous change. 2007-01-18 05:46:32 +00:00
arm - Add a uart_rxready() and corresponding device-specific implementations 2007-01-18 22:01:19 +00:00
boot o Wrap long lines. 2007-01-14 13:55:43 +00:00
bsm Merge OpenBSM 1.0 alpha 12 import changes into src/sys/bsm. New events 2006-09-25 12:22:07 +00:00
cam fix botch 2006-12-21 23:20:51 +00:00
coda change vop_lock handling to allowing tracking of callers' file and line for 2006-11-13 05:51:22 +00:00
compat Ooops, fix the ratelimit. 2007-01-20 11:31:14 +00:00
conf Remove remnants from the sparc64 origin of this file and which are 2007-01-19 12:22:50 +00:00
contrib Clean up pfr_kentry_pl2 as well. This fixes a kernel panic in the vm.zone 2007-01-01 16:51:11 +00:00
crypto Initialize T1 to silent gcc warning. 2006-10-22 02:19:33 +00:00
ddb Use FOREACH_PROC_IN_SYSTEM instead of using its unrolled form. 2007-01-17 15:05:52 +00:00
dev For setting the port PCnet chips must be powered down or stopped and 2007-01-20 10:47:16 +00:00
fs Add a 3rd entry in the cache, which keeps the end position 2007-01-16 23:43:14 +00:00
gdb
geom Softc may be NULL in g_journal_orphan(), so don't be surprised. 2006-12-02 09:10:29 +00:00
gnu Previously, the mount_ext2fs binary listed the acceptable mount 2006-11-18 18:22:11 +00:00
i4b Fix fat-fingering in previous commit. 2006-12-29 16:38:22 +00:00
i386 Use FOREACH_PROC_IN_SYSTEM instead of using its unrolled form. 2007-01-17 15:05:52 +00:00
ia64 Remove 3rd clause, renumber, ok per email 2007-01-12 07:26:21 +00:00
isa Be consistent with the spelling of "dependent" in user-visible places. 2006-12-30 11:55:47 +00:00
isofs/cd9660 The ISO9660 spec does allow files up to 4G. Change the i_size 2006-12-08 07:43:53 +00:00
kern - In tdq_transfer() always set NEEDRESCHED when necessary regardless of 2007-01-20 09:03:43 +00:00
libkern Add strstr() function to the libkern. 2006-08-12 15:28:39 +00:00
modules Disable multichannel recording in snd_emu10kx module. Whith multichannel 2007-01-07 19:43:59 +00:00
net Set topology change propagation on all ports _except_ the caller. 2007-01-18 07:13:01 +00:00
net80211 Add initial support for 900MHz cards like the Ubiquiti SR9: 2007-01-15 01:12:28 +00:00
netatalk Clean up DDP layer netatalk code: 2007-01-12 15:07:51 +00:00
netatm Sweep kernel replacing suser(9) calls with priv(9) calls, assigning 2006-11-06 13:42:10 +00:00
netgraph A less draconian fix to the build. 2007-01-18 19:41:39 +00:00
netinet - most all includes (#include <>) migrate to the sctp_os_bsd.h file 2007-01-18 09:58:43 +00:00
netinet6 - most all includes (#include <>) migrate to the sctp_os_bsd.h file 2007-01-18 09:58:43 +00:00
netipsec s,#if INET6,#ifdef INET6, 2006-12-14 17:33:46 +00:00
netipx Factor out UCB and my copyrights from copyrights of Mike Mitchell; 2007-01-08 22:14:00 +00:00
netkey With exception of the if_name() macro, all definitions in net_osdep.h 2006-08-04 21:27:40 +00:00
netnatm Factor out my copyrights + licenses from Charles D. Cranor and 2007-01-08 22:30:39 +00:00
netncp Sweep kernel replacing suser(9) calls with priv(9) calls, assigning 2006-11-06 13:42:10 +00:00
netsmb Sweep kernel replacing suser(9) calls with priv(9) calls, assigning 2006-11-06 13:42:10 +00:00
nfs NFSv4 client: 2006-11-28 19:33:28 +00:00
nfs4client NFSv4 client: 2006-11-28 19:33:28 +00:00
nfsclient NetApp filers return corrupt post op attrs in the wcc on NFS error responses. 2006-12-11 19:54:25 +00:00
nfsserver The nfsm_srvpathsiz() macro in nfsrv_symlink() in nfs_serv.c should 2007-01-02 20:42:08 +00:00
opencrypto
pc98 MFi386: revision 1.646. 2007-01-07 12:13:10 +00:00
pccard
pci o In re_newbuf() and re_encap() if re_dma_map_desc() aborts the mapping 2007-01-16 20:35:23 +00:00
powerpc Propagate the CPU model to the hw.model sysctl. 2007-01-14 21:45:05 +00:00
rpc
security When returning early from audit_arg_file() due to so->so_pcb being NULL 2007-01-06 22:28:28 +00:00
sparc64 Convert the remainder of the low hanging fruits regarding including 2007-01-19 11:15:34 +00:00
sun4v Convert the remainder of the low hanging fruits regarding including 2007-01-19 11:15:34 +00:00
sys Reviewed by: rwatson 2007-01-15 15:06:28 +00:00
tools
ufs Quota system cleanup. 2007-01-20 11:58:32 +00:00
vm Use FOREACH_PROC_IN_SYSTEM instead of using its unrolled form. 2007-01-17 15:05:52 +00:00
Makefile o Add cam to a list of cscope dirs. 2006-11-26 18:27:16 +00:00