mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
synced 2026-09-26 18:16:26 +00:00
get rid of trylock loop in locking dentries on shrink list
In case of trylock failure don't re-add to the list - drop the locks and carefully get them in the right order. For shrink_dentry_list(), somebody having grabbed a reference to dentry means that we can kick it off-list, so if we find dentry being modified under us we don't need to play silly buggers with retries anyway - off the list it is. The locking logics taken out into a helper of its own; lock_parent() is no longer used for dentries that can be killed under us. [fix from Eric Biggers folded] Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
c19457f0ae
commit
3b3f09f48b
1 changed files with 67 additions and 37 deletions
106
fs/dcache.c
106
fs/dcache.c
Loading…
Add table
Add a link
Reference in a new issue