]> CyberLeo.Net >> Repos - FreeBSD/stable/9.git/commit
MFC: r228217
authorrmacklem <rmacklem@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sat, 7 Jan 2012 00:36:17 +0000 (00:36 +0000)
committerrmacklem <rmacklem@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sat, 7 Jan 2012 00:36:17 +0000 (00:36 +0000)
commit346301a2d2367480ac53f94fe961e3e8866f9bd0
tree87cb06cc2258d23a08ae6a38bd57736c526d5e7f
parent557545a3a72bb4fad4dec739a119e148c2fe2f4c
MFC: r228217
Post r223774, the NFSv4 client no longer has multiple instances
of the same lock_owner4 string. As such, the handling of cleanup
of lock_owners could be simplified. This simplification permitted
the client to do a ReleaseLockOwner operation when the process that
the lock_owner4 string represents, has exited. This permits the
server to release any storage related to the lock_owner4 string
before the associated open is closed. Without this change, it
is possible to exhaust a server's storage when a long running
process opens a file and then many child processes do locking
on the file, because the open doesn't get closed. A similar patch
was applied to the Linux NFSv4 client recently so that it wouldn't
exhaust a server's storage.

git-svn-id: svn://svn.freebsd.org/base/stable/9@229752 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/fs/nfs/nfsclstate.h
sys/fs/nfsclient/nfs_clstate.c