Much like the other shrink_dcache_*() functions, shrink_dcache_for_umount_subtree() could run for a long time if the dcache has many entries, so an occasional "cond_resched" is needed to avoid stalls and soft-lockup warnings.
Unlike the other shrinkers, there is no cond_resched call here. So add one. Signed-off-by: NeilBrown <ne...@suse.de> diff --git a/fs/dcache.c b/fs/dcache.c index ae6ebb88ceff..1811fa19b419 100644 --- a/fs/dcache.c +++ b/fs/dcache.c @@ -1154,6 +1154,7 @@ static void shrink_dcache_for_umount_subtree(struct dentry *dentry) dentry = list_entry(dentry->d_subdirs.next, struct dentry, d_u.d_child); + cond_resched() } }
signature.asc
Description: PGP signature