mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 18:21:24 +02:00
select_collect(): ignore dentries on shrink lists if they have positive refcounts
If all dentries we find have positive refcounts and some happen to be on shrink lists, there's no point trying to steal them in the select_collect2() phase - we won't be able to evict any of them. Busy on shrink lists is still busy... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
87e801e167
commit
f601ede8fd
|
|
@ -1589,9 +1589,7 @@ static enum d_walk_ret select_collect(void *_data, struct dentry *dentry)
|
|||
if (data->start == dentry)
|
||||
goto out;
|
||||
|
||||
if (dentry->d_flags & DCACHE_SHRINK_LIST) {
|
||||
data->found++;
|
||||
} else if (!dentry->d_lockref.count) {
|
||||
if (!dentry->d_lockref.count) {
|
||||
to_shrink_list(dentry, &data->dispose);
|
||||
data->found++;
|
||||
} else if (dentry->d_lockref.count < 0) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user