freebsd-dev/sys
Rick Macklem 52f1bb38c2 A deadlock in the NFSv4 server with vfs.nfsd.enable_locallocks=1
was reported via email. This was caused by a LOR between the
sleep lock used to serialize the local locking (nfsrv_locklf())
and locking the vnode. I believe this patch fixes the problem
by delaying relocking of the vnode until the sleep lock is
unlocked (nfsrv_unlocklf()). To avoid nfsvno_advlock() having the side
effect of unlocking the vnode, unlocking the vnode was moved to before
the functions that call nfsvno_advlock().
It shouldn't affect the execution of the default case where
vfs.nfsd.enable_locallocks=0.

Reported by:	loic.blot@unix-experience.fr
Discussed with:	kib
MFC after:	1 week
2014-12-25 01:55:17 +00:00
..
amd64 Restore the trap type argument to the DTrace trap hook, removed in r268600. 2014-12-23 15:38:19 +00:00
arm Display the correct value for cache Level of Coherency. Like the other 2014-12-24 19:47:50 +00:00
boot Revert r276101, it didn't fix the problem and causes a compile error 2014-12-24 01:10:53 +00:00
bsm
cam Hide block device VPD pages for non-block devices. 2014-12-23 15:18:28 +00:00
cddl Restore the trap type argument to the DTrace trap hook, removed in r268600. 2014-12-23 15:38:19 +00:00
compat Adjust printf format specifiers for dev_t and ino_t in kernel. 2014-12-17 07:27:19 +00:00
conf Fix kernel builds with "options NFS_DEBUG" that 2014-12-23 14:24:36 +00:00
contrib Correctly define constants. 2014-11-28 04:07:06 +00:00
crypto Add some new modes to OpenCrypto. These modes are AES-ICM (can be used 2014-12-12 19:56:36 +00:00
ddb ddb: ANSI-fy function declarations. 2014-10-12 18:01:52 +00:00
dev Fix tunable and sysctl handling of the fail_on_task_timeout knob. 2014-12-24 07:04:04 +00:00
fs A deadlock in the NFSv4 server with vfs.nfsd.enable_locallocks=1 2014-12-25 01:55:17 +00:00
gdb Add support for gdb's memory searching capabilities to our in-kernel gdb 2014-09-05 16:40:47 +00:00
geom Remove support for FreeBSD 7 and really old FreeBSD 8. The classifiers 2014-12-20 00:04:01 +00:00
gnu reiserfs: Use signed i_nlink 2014-09-25 19:10:32 +00:00
i386 Restore the trap type argument to the DTrace trap hook, removed in r268600. 2014-12-23 15:38:19 +00:00
isa
kern Modify vop_stdadvlock{async}() so that it only 2014-12-24 22:58:08 +00:00
kgssapi Avoid dynamic syscall overhead for statically compiled modules. 2014-10-26 19:42:44 +00:00
libkern Add some new modes to OpenCrypto. These modes are AES-ICM (can be used 2014-12-12 19:56:36 +00:00
mips Restore the trap type argument to the DTrace trap hook, removed in r268600. 2014-12-23 15:38:19 +00:00
modules Remove the old NFS client and server from head, 2014-12-23 00:47:46 +00:00
net Remove if_stf.h. It contains only one function declaration used by if_stf(4). 2014-12-23 20:54:59 +00:00
net80211 Update ieee80211_sta_tim_notify() to do double duty - handle STA sleep 2014-12-21 04:58:45 +00:00
netgraph In preparation of merging projects/sendfile, transform bare access to 2014-11-12 09:57:15 +00:00
netinet Remove in_gif.h and in6_gif.h files. They only contain function 2014-12-23 16:17:37 +00:00
netinet6 Remove in_gif.h and in6_gif.h files. They only contain function 2014-12-23 16:17:37 +00:00
netipsec Rename ip4_def_policy variable to def_policy. It is used by both IPv4 and 2014-12-24 18:34:56 +00:00
netnatm
netpfil pf(4) needs to have a correct checksum during its processing. 2014-11-19 13:31:08 +00:00
netsmb
nfs Remove the old NFS client and server from head, 2014-12-23 00:47:46 +00:00
nfsclient Remove the old NFS client and server from head, 2014-12-23 00:47:46 +00:00
nfsserver Remove the old NFS client and server from head, 2014-12-23 00:47:46 +00:00
nlm Avoid dynamic syscall overhead for statically compiled modules. 2014-10-26 19:42:44 +00:00
ofed Make sure callbacks being freed are not pending when the 2014-12-11 10:47:50 +00:00
opencrypto Add some new modes to OpenCrypto. These modes are AES-ICM (can be used 2014-12-12 19:56:36 +00:00
pc98 This configuration file removes several debugging options, including 2014-12-02 19:55:43 +00:00
powerpc Restore the trap type argument to the DTrace trap hook, removed in r268600. 2014-12-23 15:38:19 +00:00
rpc Add facility to stop all userspace processes. The supposed use of the 2014-12-13 16:18:29 +00:00
security Adjust printf format specifiers for dev_t and ino_t in kernel. 2014-12-17 07:27:19 +00:00
sparc64 This configuration file removes several debugging options, including 2014-12-02 19:55:43 +00:00
sys Restore the trap type argument to the DTrace trap hook, removed in r268600. 2014-12-23 15:38:19 +00:00
teken
tools Allow the make_dtb script to work outside of a "make buildkernel" context 2014-08-30 22:39:15 +00:00
ufs Handle MAKEENTRY cnp flag in the VOP_CREATE(). Curiously, some 2014-12-21 13:29:33 +00:00
vm Add flag VM_ALLOC_NOWAIT for vm_page_grab() that prevents sleeping and 2014-12-22 09:02:21 +00:00
x86 xen/intr: balance dynamic interrupts across available vCPUs 2014-12-10 13:25:21 +00:00
xdr
xen xen: convert the Grant-table code to a NewBus device 2014-12-10 11:35:41 +00:00
Makefile Remove "pci" from CSCOPEDIRS. 2014-09-23 06:32:19 +00:00