fusefs: don't disappear a vnode on entry cache expiration
When the entry cache expires, it's only necessary to purge the cache. Disappearing a vnode also purges the attribute cache, which is unnecessary, and invalidates the data cache, which could be harmful. Sponsored by: The FreeBSD Foundation
This commit is contained in:
parent
6124fd7106
commit
4683b90591
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/projects/fuse2/; revision=346136
@ -797,12 +797,7 @@ fuse_vnop_lookup(struct vop_lookup_args *ap)
|
||||
/* Cache timeout */
|
||||
atomic_add_acq_long(&fuse_lookup_cache_misses,
|
||||
1);
|
||||
/*
|
||||
* XXX is fuse_internal_vnode_disappear ok to
|
||||
* call if another process is still using the
|
||||
* vnode?
|
||||
*/
|
||||
fuse_internal_vnode_disappear(*vpp);
|
||||
cache_purge(*vpp);
|
||||
if (dvp != *vpp)
|
||||
vput(*vpp);
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user