freebsd-skq/sys
Konstantin Belousov cc3d8c35f5 There are several code sequences like
vfs_busy(mp);
      vfs_write_suspend(mp);
which are problematic if other thread starts unmount between two
calls.  The unmount starts a write, while vfs_write_suspend() drain
writers.  On the other hand, unmount drains busy references, causing
the deadlock.

Add a flag argument to vfs_write_suspend and require the callers of it
to specify VS_SKIP_UNMOUNT flag, when the call is performed not in the
mount path, i.e. the covered vnode is not locked.  The suspension is
not attempted if VS_SKIP_UNMOUNT is specified and unmount is in
progress.

Reported and tested by:	Andreas Longwitz <longwitz@incore.de>
Sponsored by:	The FreeBSD Foundation
MFC after:	3 weeks
2013-07-09 20:49:32 +00:00
..
amd64
arm Improve a comment. 2013-07-09 02:50:05 +00:00
boot default loader.conf: there is no need to load zpool.cache now 2013-07-09 08:40:05 +00:00
bsm
cam Added 4K QUIRK for OCZ Vertex 4 SSDs 2013-07-09 10:41:17 +00:00
cddl dtrace/fasttrap: install hook functions only after all data is 2013-07-09 09:05:00 +00:00
compat
conf amd64: use -mno-omit-leaf-frame-pointer in addition to -fno-omit-frame-pointer 2013-07-09 08:42:02 +00:00
contrib
crypto Allow assert() to operate correctly when building userland code. 2013-07-09 10:27:26 +00:00
ddb
dev Remove redundant definitions to appease tinderbox. 2013-07-09 18:15:59 +00:00
fs Reinstate the assertion from r253045. 2013-07-09 14:23:00 +00:00
gdb
geom There are several code sequences like 2013-07-09 20:49:32 +00:00
gnu/fs/reiserfs
i386
ia64
isa
kern There are several code sequences like 2013-07-09 20:49:32 +00:00
kgssapi Add support for host-based (Kerberos 5 service principal) initiator 2013-07-09 01:05:28 +00:00
libkern
mips Nearly a complete rewrite of elf.h. 2013-07-09 19:01:38 +00:00
modules
net Correct CTASSERT condition. 2013-07-09 15:10:27 +00:00
net80211
netatalk
netgraph
netinet Use IPSECSTAT_INC() and IPSEC6STAT_INC() macros for ipsec statistics 2013-07-09 14:38:26 +00:00
netinet6 Correct the size of allocated memory to store array of counters. 2013-07-09 15:20:46 +00:00
netipsec Migrate structs ahstat, espstat, ipcompstat, ipipstat, pfkeystat, 2013-07-09 10:08:13 +00:00
netipx
netnatm
netpfil
netsmb
nfs
nfsclient
nfsserver
nlm
ofed Allow mlx4 devices to switch from Ethernet to Infiniband (and vice versa): 2013-07-08 21:25:12 +00:00
opencrypto
pc98
pci
powerpc
rpc Add support for host-based (Kerberos 5 service principal) initiator 2013-07-09 01:05:28 +00:00
security audit_proc_coredump: check return value of audit_new 2013-07-09 09:03:01 +00:00
sparc64
sys There are several code sequences like 2013-07-09 20:49:32 +00:00
teken
tools
ufs There are several code sequences like 2013-07-09 20:49:32 +00:00
vm Fix typo in comment. 2013-07-09 13:22:30 +00:00
x86
xdr
xen
Makefile