[Bug 196259] The NFSv4 server can deadlock when vfs.nfsd.enable_locallocks!=0
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Wed Dec 24 23:26:22 UTC 2014
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=196259
Rick Macklem <rmacklem at FreeBSD.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|New |In Progress
--- Comment #1 from Rick Macklem <rmacklem at FreeBSD.org> ---
Loic Blot had a deadlock in the NFSv4 server when he had
set vfs.nfsd.enable_locallocks to the non-default value of 1.
This deadlock is caused by a LOR between the sleep lock used
by the NFSv4 server (nfsrv_locklf()) and relocking of the file's
vnode.
I will be committing a patch to fix this LOR into head and
MFCing it to stable/10 and stable/9.
The deadlock is avoided by leaving vfs.nfsd.enable_locallocks=0,
which should be fine for most NFSv4 server uses.
(vfs.nfsd.enable_locallocks=1 makes the NFSv4 server do
VOP_ADVLOCK() to acquire locks on the file, so that non-nfsd
threads running in the NFSv4 server machine see the byte range
locks set by NFSv4 clients that have mounted the file system.
If only NFS clients needs to see the locks, the default setting
is fine.)
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list