restore cond_resched() in shrink_dcache_parent()
authorAl Viro <viro@zeniv.linux.org.uk>
Fri, 20 Apr 2018 03:58:48 +0000 (23:58 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Fri, 20 Apr 2018 03:58:48 +0000 (23:58 -0400)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/dcache.c

index c4d2234..60df712 100644 (file)
@@ -1473,10 +1473,15 @@ void shrink_dcache_parent(struct dentry *parent)
                data.found = 0;
 
                d_walk(parent, &data, select_collect);
+
+               if (!list_empty(&data.dispose)) {
+                       shrink_dentry_list(&data.dispose);
+                       continue;
+               }
+
+               cond_resched();
                if (!data.found)
                        break;
-
-               shrink_dentry_list(&data.dispose);
        }
 }
 EXPORT_SYMBOL(shrink_dcache_parent);