diff options
-rw-r--r-- | fs/dcache.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/fs/dcache.c b/fs/dcache.c index c4d2234eccc3..60df712262c2 100644 --- a/fs/dcache.c +++ b/fs/dcache.c | |||
@@ -1473,10 +1473,15 @@ void shrink_dcache_parent(struct dentry *parent) | |||
1473 | data.found = 0; | 1473 | data.found = 0; |
1474 | 1474 | ||
1475 | d_walk(parent, &data, select_collect); | 1475 | d_walk(parent, &data, select_collect); |
1476 | |||
1477 | if (!list_empty(&data.dispose)) { | ||
1478 | shrink_dentry_list(&data.dispose); | ||
1479 | continue; | ||
1480 | } | ||
1481 | |||
1482 | cond_resched(); | ||
1476 | if (!data.found) | 1483 | if (!data.found) |
1477 | break; | 1484 | break; |
1478 | |||
1479 | shrink_dentry_list(&data.dispose); | ||
1480 | } | 1485 | } |
1481 | } | 1486 | } |
1482 | EXPORT_SYMBOL(shrink_dcache_parent); | 1487 | EXPORT_SYMBOL(shrink_dcache_parent); |