1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-19 10:53:58 +00:00
freebsd/sys
Ian Dowse 1278d57acd Permit NFS filesystems to be forcibly unmounted when the server is
down, even if there are hung processes and the mount is non-
interruptible.

This works by having nfs_unmount call a new function nfs_nmcancelreqs()
in the FORCECLOSE case. It scans the list of outstanding requests
and marks as interrupted any requests belonging to the specified
mount. Then it waits up to 30 seconds for all requests to terminate.
A few other changes are necessary to support this:
- Unconditionally set a socket timeout so that even hard mounts
  are guaranteed to occasionally check the R_SOFTTERM flag on
  requests. For hard mounts this flag can only be set by
  nfs_nmcancelreqs().
- Reject requests on a mount that is currently being unmounted.
- Never grant the receive lock to a request that has been cancelled.

This should also avoid an old problem where a forced NFS unmount
could cause a crash; it occurred when a VOP on an unlocked vnode
(usually VOP_GETATTR) was in progress at the time of the forced
unmount.
2002-01-02 00:41:26 +00:00
..
alpha This file does not need to include procfs.h. This fixes a bunch of warnings. 2002-01-01 14:46:57 +00:00
amd64 Grrr. The tlb code is strewn over 3 files and I misread it. Revert 2001-12-31 20:32:53 +00:00
arm We need machine/{signal,ucontext}.h to build a cross GCC compiler. 2001-12-09 19:39:49 +00:00
boot Avoid having the text and data sections merged into one program 2001-12-28 22:12:38 +00:00
cam Add support for Nikon Coolpix E775 and E885 cameras. 2002-01-01 13:28:43 +00:00
coda Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
compat Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
conf Add the nullmodem device 2002-01-01 05:16:03 +00:00
contrib Add OS layer ACPI mutex and threading support. 2001-12-22 16:05:41 +00:00
crypto fixed the cast128 calculation with a short cipher key length. 2001-11-27 14:11:47 +00:00
ddb Implement a "kill" DDB command which is an interface to psignal() that 2001-11-27 19:56:28 +00:00
dev 1. Lower the poll timeout for the ofw console driver from hz / 50 to hz / 4. 2002-01-01 21:45:30 +00:00
fs o Make the credential used by socreate() an explicit argument to 2001-12-31 17:45:16 +00:00
geom Reduce kernel stack usage of ccdinit() by MAXPATHLEN by using MALLOC(9). 2001-12-30 17:34:19 +00:00
gnu Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
i4b Remove unused includes. 2001-12-31 09:31:30 +00:00
i386 Add the nullmodem device 2002-01-01 05:16:03 +00:00
ia64 Revert previous definition of cpu_throw(). Non-MP configurations 2001-12-30 23:39:15 +00:00
isa Use the new resource_list_print_type() function. 2001-12-21 21:54:56 +00:00
isofs/cd9660 Fix mounting root from a ISO9660 filesystem on a SCSI CDROM. 2001-11-27 03:55:43 +00:00
kern Print parm6 too in the !KTR_EXTEND case. 2002-01-01 21:47:38 +00:00
libkern rcsid[]->__FBSDID 2001-11-07 19:55:16 +00:00
modules Make AIO a loadable module. 2001-12-29 07:13:47 +00:00
net Implement an option to administratively disable the negotiation of 2001-12-30 20:42:29 +00:00
netatalk Give struct socket structures a ref counting interface similar to 2001-11-17 03:07:11 +00:00
netatm Give struct socket structures a ref counting interface similar to 2001-11-17 03:07:11 +00:00
netgraph o Make the credential used by socreate() an explicit argument to 2001-12-31 17:45:16 +00:00
netinet Don't reveal a router in the IPSTEALTH mode through IP options. 2001-12-29 09:24:18 +00:00
netinet6 Back out cometic changes. This is for easily syncing with KAME in other BSDs. 2001-12-17 18:13:12 +00:00
netipx Give struct socket structures a ref counting interface similar to 2001-11-17 03:07:11 +00:00
netkey Newer SA is prefered for a out-bound packet than old one 2001-12-05 05:40:49 +00:00
netnatm Give struct socket structures a ref counting interface similar to 2001-11-17 03:07:11 +00:00
netncp Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
netns Give struct socket structures a ref counting interface similar to 2001-11-17 03:07:11 +00:00
netsmb Spelling fixes. 2001-12-31 19:29:43 +00:00
nfs When the old nfsm_adv() macro was moved to nfsm_adv_xx(), a '>=' 2001-12-31 06:56:31 +00:00
nfsclient Permit NFS filesystems to be forcibly unmounted when the server is 2002-01-02 00:41:26 +00:00
nfsserver Avoid passing the variable `tl' to functions that just use it for 2001-12-18 01:22:09 +00:00
pc98 Disabled the olpt driver temporarily to avoid 'repeat make_dev' panic. 2001-12-31 09:02:24 +00:00
pccard Better error message when cardtype is not recognized 2001-11-13 06:46:19 +00:00
pci Add support for the Intel 82443MX chipset 2001-12-21 01:28:59 +00:00
posix4
powerpc Modify the critical section API as follows: 2001-12-18 00:27:18 +00:00
rpc
security/lomac s/sonewconn3/sonewconn/ forgotten by the modifier. 2001-12-26 18:31:22 +00:00
sparc64 Correctly identify the cpu in certain ultra 1s. 2002-01-01 21:26:57 +00:00
svr4
sys Welcome 2002. Happy new year. 2002-01-01 09:20:52 +00:00
tools Move from using PCCARD_ symbols gereated from this file to using PCMCIA_ 2001-11-11 20:15:06 +00:00
ufs Fix a BUF_TIMELOCK race against BUF_LOCK and fix a deadlock in vget() 2001-12-20 22:42:27 +00:00
vm Fix a BUF_TIMELOCK race against BUF_LOCK and fix a deadlock in vget() 2001-12-20 22:42:27 +00:00
Makefile