Blob Blame History Raw
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