From 4fb48871409e2fcd375087d526d07f7600c88f94 Mon Sep 17 00:00:00 2001
From: Al Viro <viro@zeniv.linux.org.uk>
Date: Thu, 19 Apr 2018 23:58:48 -0400
Subject: [PATCH] restore cond_resched() in shrink_dcache_parent()
Git-commit: 4fb48871409e2fcd375087d526d07f7600c88f94
Patch-mainline: v4.18-rc1
References: bsc#1098599
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: Goldwyn Rodrigues <rgoldwyn@suse.com>
---
fs/dcache.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/fs/dcache.c b/fs/dcache.c
index b9fccc352fc0..25bc5d7c307d 100644
--- a/fs/dcache.c
+++ b/fs/dcache.c
@@ -1455,10 +1455,15 @@ void shrink_dcache_parent(struct dentry *parent)
data.found = 0;
d_walk(parent, &data, select_collect, NULL);
+
+ 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);
--
2.16.4