summaryrefslogtreecommitdiffstats
path: root/usr.bin
diff options
context:
space:
mode:
authorrmacklem <rmacklem@FreeBSD.org>2011-05-27 22:05:10 +0000
committerrmacklem <rmacklem@FreeBSD.org>2011-05-27 22:05:10 +0000
commit7d4b16f6f8f2a016827f64398c5a7f59247e56b3 (patch)
tree4ac25cf194121a23f96fba1eb360ebde0f255320 /usr.bin
parentaa5140b7ec861ac2939b1db8b6aa22e74a58a1d7 (diff)
downloadFreeBSD-src-7d4b16f6f8f2a016827f64398c5a7f59247e56b3.zip
FreeBSD-src-7d4b16f6f8f2a016827f64398c5a7f59247e56b3.tar.gz
Fix the new NFS client so that it handles NFSv4 state
correctly during a forced dismount. This required that the exclusive and shared (refcnt) sleep lock functions check for MNTK_UMOUNTF before sleeping, so that they won't block while nfscl_umount() is getting rid of the state. As such, a "struct mount *" argument was added to the locking functions. I believe the only remaining case where a forced dismount can get hung in the kernel is when a thread is already attempting to do a TCP connect to a dead server when the krpc client structure called nr_client is NULL. This will only happen just after a "mount -u" with options that force a new TCP connection is done, so it shouldn't be a problem in practice. MFC after: 2 weeks
Diffstat (limited to 'usr.bin')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud