freebsd-src/sys
Tor Egge 61b9d89ff0 Make insmntque() externally visibile and allow it to fail (e.g. during
late stages of unmount).  On failure, the vnode is recycled.

Add insmntque1(), to allow for file system specific cleanup when
recycling vnode on failure.

Change getnewvnode() to no longer call insmntque().  Previously,
embryonic vnodes were put onto the list of vnode belonging to a file
system, which is unsafe for a file system marked MPSAFE.

Change vfs_hash_insert() to no longer lock the vnode.  The caller now
has that responsibility.

Change most file systems to lock the vnode and call insmntque() or
insmntque1() after a new vnode has been sufficiently setup.  Handle
failed insmntque*() calls by propagating errors to callers, possibly
after some file system specific cleanup.

Approved by:	re (kensmith)
Reviewed by:	kib
In collaboration with:	kib
2007-03-13 01:50:27 +00:00
..
amd64 Add another CPUID for AMD CPUs and fix style(9) while I am here. 2007-03-12 20:27:21 +00:00
arm Push down the implementation of PCPU_LAZY_INC() into the machine-dependent 2007-03-11 05:54:29 +00:00
boot MFi386: revision 1.17. 2007-03-04 04:53:17 +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 Use tsleep() rather than msleep() with a NULL mtx. 2007-02-27 17:15:39 +00:00
coda Make insmntque() externally visibile and allow it to fail (e.g. during 2007-03-13 01:50:27 +00:00
compat Add a pn_destroy field to pfs_node. This field points to a destructor 2007-03-12 12:16:52 +00:00
conf Rototill the sparc64 nexus(4) (actually this brings in the code the 2007-03-07 21:13:51 +00:00
contrib - Add Intel firmwares for Intel PRO/Wireless LAN 2100/2200/2915 cards in a 2007-03-02 11:42:56 +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 Fix some OID names and minor style as per feedback from various people. 2007-03-13 00:41:55 +00:00
fs Make insmntque() externally visibile and allow it to fail (e.g. during 2007-03-13 01:50:27 +00:00
gdb Convert to new console api 2006-05-26 13:54:27 +00:00
geom Warn when user use sectorsize bigger than the page size, which will lead 2007-03-05 12:41:44 +00:00
gnu Make insmntque() externally visibile and allow it to fail (e.g. during 2007-03-13 01:50:27 +00:00
i4b o break newbus api: add a new argument of type driver_filter_t to 2007-02-24 02:28:07 +00:00
i386 Add another CPUID for AMD CPUs and fix style(9) while I am here. 2007-03-12 20:27:21 +00:00
ia64 Push down the implementation of PCPU_LAZY_INC() into the machine-dependent 2007-03-11 05:54:29 +00:00
isa Partial fix for a bug in rev.1.231. If suspend/resume clobbers the 2007-03-05 09:10:17 +00:00
kern Make insmntque() externally visibile and allow it to fail (e.g. during 2007-03-13 01:50:27 +00:00
libkern Add strstr() function to the libkern. 2006-08-12 15:28:39 +00:00
modules my(4) doesn't need miibus(4). 2007-03-11 15:20:04 +00:00
net Emit load and unload messages under bootverbose. 2007-03-12 12:42:14 +00:00
net80211 change ic_modecaps to a bit vector and use setbit, et. al. 2007-03-11 22:37:32 +00:00
netatalk Use privilege PRIV_NET_ADDIFADDR rather than suser() to authorize 2007-02-19 22:40:02 +00:00
netatm Sweep kernel replacing suser(9) calls with priv(9) calls, assigning 2006-11-06 13:42:10 +00:00
netgraph oops committed the wrong patch. 2007-03-10 01:02:40 +00:00
netinet Fix IP_SENDSRCADDR semantics. 2007-03-08 15:26:54 +00:00
netinet6 Add comments about common idioms for cleanup pass at a later date. 2007-02-28 21:58:37 +00:00
netipsec s,#if INET6,#ifdef INET6, 2006-12-14 17:33:46 +00:00
netipx Build ipx_ip.c only if options IPXIP is defined. No functional change. 2007-02-26 11:55:34 +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 Use pause() rather than tsleep() on stack variables and function pointers. 2007-02-27 17:23:29 +00:00
netsmb Backing out the wrong fix which could possibly trash the memory if devfs 2007-02-09 17:22:10 +00:00
nfs NFSv4 client: 2006-11-28 19:33:28 +00:00
nfs4client Rename some functions and variables from nfs_* to nfs4_* to avoid 2007-01-25 14:33:13 +00:00
nfsclient Make insmntque() externally visibile and allow it to fail (e.g. during 2007-03-13 01:50:27 +00:00
nfsserver Change these descriptions of memory types used in malloc(9), as their 2007-03-05 00:21:40 +00:00
opencrypto When DIAGNOSTIC is defined, verify if we don't free crypto requests from 2006-06-06 15:04:52 +00:00
pc98 - Use mtx_{lock,unlock}_spin rather than {disable,enable}_intr. 2007-03-04 11:36:16 +00:00
pccard
pci Add new ST201 PCI id. 2007-03-10 03:10:34 +00:00
powerpc Push down the implementation of PCPU_LAZY_INC() into the machine-dependent 2007-03-11 05:54:29 +00:00
rpc
security Remove 'MPSAFE' annotations from the comments above most system calls: all 2007-03-04 22:36:48 +00:00
sparc64 Push down the implementation of PCPU_LAZY_INC() into the machine-dependent 2007-03-11 05:54:29 +00:00
sun4v Push down the implementation of PCPU_LAZY_INC() into the machine-dependent 2007-03-11 05:54:29 +00:00
sys Make insmntque() externally visibile and allow it to fail (e.g. during 2007-03-13 01:50:27 +00:00
tools - Add Intel firmwares for Intel PRO/Wireless LAN 2100/2200/2915 cards in a 2007-03-02 11:42:56 +00:00
ufs Make insmntque() externally visibile and allow it to fail (e.g. during 2007-03-13 01:50:27 +00:00
vm Use PCPU_LAZY_INC() to update page fault statistics. 2007-03-05 18:55:14 +00:00
Makefile o Add cam to a list of cscope dirs. 2006-11-26 18:27:16 +00:00