freebsd-src/sys
Warner Losh b27aa20e8d A partial solution to some of the 'pull the umass device with a
mounted FS' problems.  These are more along the lines of 'avoiding an
avoidable panic' than a complete solution to removable devices.  We
now close the barn door after the horse has gotten lose and has been
hit by a truck, as it were.  The barn no longer catches fire in this
case, but the horse is still dead :-).

The vfs_bio.c fix causes us not to put a failed write back into the
dirty pool if the error returned was ENXIO.  In that case, the buffer
is treated like any other clean buffer that's being retured.  ENXIO
means the device isn't there anymore and will never be there again in
the future, so retrying is futile.

The vfs_mount.c fix treats 'ENXIO' as success for unmounting a file
system.  If the device is gone, retrying later won't help and we'll
never be able to unmount the device.

These two are part of a larger patch set submitted by the author.  The
other patches will be forth coming.  I added comments to these two
patches.

Submitted by: Henrik Gulbrandsen
Reviewed by: phk@
PR: usb/46176 (partial)
2007-12-27 16:38:28 +00:00
..
amd64 Add a new 'why' argument to kdb_enter(), and a set of constants to use 2007-12-25 17:52:02 +00:00
arm Add a new 'why' argument to kdb_enter(), and a set of constants to use 2007-12-25 17:52:02 +00:00
boot "FreeBSD/Open Firmware/PowerPC ..." is confusing and non-standard. 2007-12-26 19:15:58 +00:00
bsm Merge OpenBSM 1.0 changes to src/sys/bsm: 2007-10-29 18:47:25 +00:00
cam Add a new 'why' argument to kdb_enter(), and a set of constants to use 2007-12-25 17:52:02 +00:00
cddl Remove some compatibility stuff that we now get from the Solaris header. 2007-11-29 00:15:08 +00:00
compat Add a new 'why' argument to kdb_enter(), and a set of constants to use 2007-12-25 17:52:02 +00:00
conf Add textdump(4) facility, which provides an alternative form of kernel 2007-12-26 11:32:33 +00:00
contrib * Check endianness the FreeBSD way. 2007-11-28 22:16:00 +00:00
crypto Commit the change from FAST_IPSEC to IPSEC. The FAST_IPSEC 2007-07-03 12:13:45 +00:00
ddb Add textdump(4) facility, which provides an alternative form of kernel 2007-12-26 11:32:33 +00:00
dev Fix some bugs in the FreeBSD 4/5/6 pci(4) IOCTLs compatibility code: 2007-12-26 21:50:59 +00:00
fs Add a new 'why' argument to kdb_enter(), and a set of constants to use 2007-12-25 17:52:02 +00:00
gdb Add kdb_cpu_sync_icache(), intended to synchronize instruction 2007-06-09 21:55:17 +00:00
geom Various fixes: 2007-12-24 01:01:59 +00:00
gnu Remove duplicate "union" from ext2_opts. 2007-10-27 16:14:33 +00:00
i4b Spelling fix for interupt -> interrupt 2007-10-12 06:03:46 +00:00
i386 "vt" doesn't refer to any existing device anymore. Remove it. 2007-12-25 22:41:29 +00:00
ia64 Add a new 'why' argument to kdb_enter(), and a set of constants to use 2007-12-25 17:52:02 +00:00
isa Split /dev/nvram driver out of isa/clock.c for i386 and amd64. I have not 2007-10-26 03:23:54 +00:00
kern A partial solution to some of the 'pull the umass device with a 2007-12-27 16:38:28 +00:00
libkern Do not use __XSCALE__ to detect if clz is available, use _ARM_ARCH_5 instead. 2007-10-13 12:05:36 +00:00
modules Don't overload tcp_usrreqs unless the kernel doesn't provide offload support. 2007-12-18 23:00:25 +00:00
net Add a workaround for a deadlock between the rt_setgate() and rt_check() 2007-12-27 10:00:57 +00:00
net80211 update channel flag defs to match _ieee80211.h so cpp doesn't complain 2007-12-13 01:23:40 +00:00
netatalk Annotate two possible bugs in a comment: (1) we allocate and explicitly 2007-11-20 18:50:54 +00:00
netatm Disconnect netatm from the build as it is not MPSAFE and relies on 2007-07-14 21:49:24 +00:00
netgraph Fix incorrectly placed bracket in pppoe_find_svc(). 2007-12-26 19:33:53 +00:00
netinet Workaround p->numbytes overflow, which can result in infinite loop inside 2007-12-25 09:36:51 +00:00
netinet6 Fix leaking MAC labels for IPv6 inpcbs by adding missing MAC label 2007-12-17 17:20:57 +00:00
netipsec Add sysctls to if_enc(4) to control whether the firewalls or 2007-11-28 22:33:53 +00:00
netipx Make tcpstates[] static, and make sure TCPSTATES is defined before 2007-07-30 11:06:42 +00:00
netnatm s/destory/destroy/ (except for the code in contrib/). 2007-04-16 12:31:35 +00:00
netncp Refactor select to reduce contention and hide internal implementation 2007-12-16 06:21:20 +00:00
netsmb Refactor select to reduce contention and hide internal implementation 2007-12-16 06:21:20 +00:00
nfs
nfs4client Rename the kthread_xxx (e.g. kthread_create()) calls 2007-10-20 23:23:23 +00:00
nfsclient Remove hacks from the NFSv2/3 client intended to handle a lack of a 2007-11-19 16:03:21 +00:00
nfsserver Garbage collect now-unused nfsrv_setcred() -- it's not only unused, but 2007-11-04 19:20:33 +00:00
opencrypto Rename the kthread_xxx (e.g. kthread_create()) calls 2007-10-20 23:23:23 +00:00
pc98 Add a new 'why' argument to kdb_enter(), and a set of constants to use 2007-12-25 17:52:02 +00:00
pccard
pci Add another RTL8168 revision 3 which is found on RTL8111-GR Gigabit 2007-12-08 00:14:09 +00:00
powerpc Add a new 'why' argument to kdb_enter(), and a set of constants to use 2007-12-25 17:52:02 +00:00
rpc Remove the now-unused NET_{LOCK,UNLOCK,ASSERT}_GIANT() macros, which 2007-08-06 14:26:03 +00:00
security Add a new 'why' argument to kdb_enter(), and a set of constants to use 2007-12-25 17:52:02 +00:00
sparc64 Update two tracepoints, i.e., CTRx() invocations, to reflect the demise of 2007-12-27 03:52:14 +00:00
sun4v Add a new 'why' argument to kdb_enter(), and a set of constants to use 2007-12-25 17:52:02 +00:00
sys Update to 2008. 2007-12-26 16:45:35 +00:00
tools
ufs Fix a broken check that recently became more annoying because it now 2007-12-01 13:12:43 +00:00
vm Update the comment describing vm_phys_unfree_page(). 2007-12-21 02:44:31 +00:00
Makefile Complete repo-copy and move of Coda from src/sys/coda to src/sys/fs/coda 2007-07-12 21:04:58 +00:00