Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 24 Dec 2014 23:26:22 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [Bug 196259] The NFSv4 server can deadlock when vfs.nfsd.enable_locallocks!=0
Message-ID:  <bug-196259-8-jP3mmSlMKt@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-196259-8@https.bugs.freebsd.org/bugzilla/>
References:  <bug-196259-8@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=196259

Rick Macklem <rmacklem@FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|New                         |In Progress

--- Comment #1 from Rick Macklem <rmacklem@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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-196259-8-jP3mmSlMKt>