]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Part 1 of making shared lookups more resilient with respect to forced
authorjhb <jhb@FreeBSD.org>
Wed, 24 Sep 2008 18:51:33 +0000 (18:51 +0000)
committerjhb <jhb@FreeBSD.org>
Wed, 24 Sep 2008 18:51:33 +0000 (18:51 +0000)
commit1161006cb695195ef1ddc08bd587d10755925084
treeee684698e82de9b4671dd17a420741a7518401dd
parent8d01b3e526211bb7a97d75c934a16413164f2b81
Part 1 of making shared lookups more resilient with respect to forced
unmounts.  When we upgrade a vnode lock from shared to exclusive during
a name cache lookup, fail the lookup with EBADF if the vnode is invalidated
while we are waiting for the exclusive lock.

Also, for correctness (though I'm not sure it can occur in practice),
downgrade an exclusively locked vnode if it should be share locked.

Tested by: pho
sys/kern/vfs_cache.c
sys/nfsclient/nfs_vnops.c