summaryrefslogtreecommitdiffstats
path: root/libexec
diff options
context:
space:
mode:
authorrmacklem <rmacklem@FreeBSD.org>2011-07-04 23:32:09 +0000
committerrmacklem <rmacklem@FreeBSD.org>2011-07-04 23:32:09 +0000
commita1a4430906627e22d8af8232fb72573739cfd545 (patch)
tree38d51aba9a7ea76019a3107bf385a703ba16d2ff /libexec
parentfca16415f470564eb52fd10132f187322e74b160 (diff)
downloadFreeBSD-src-a1a4430906627e22d8af8232fb72573739cfd545.zip
FreeBSD-src-a1a4430906627e22d8af8232fb72573739cfd545.tar.gz
The algorithm used by nfscl_getopen() could have resulted in
multiple instances of the same lock_owner when a process both inherited an open file descriptor plus opened the same file itself. Since some NFSv4 servers cannot handle multiple instances of the same lock_owner string, this patch changes the algorithm used by nfscl_getopen() in the new NFSv4 client to keep that from happening. The new algorithm is simpler, since there is no longer any need to ascend the process's parentage tree because all NFSv4 Closes for a file are done at VOP_INACTIVE()/VOP_RECLAIM(), making the Opens indistinct w.r.t. use with Lock Ops. This problem was discovered at the recent NFSv4 interoperability Bakeathon. MFC after: 2 weeks
Diffstat (limited to 'libexec')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud