summaryrefslogtreecommitdiffstats
path: root/fs/nfs
diff options
context:
space:
mode:
authorTrond Myklebust <trond.myklebust@hammerspace.com>2024-08-21 14:05:00 -0400
committerAnna Schumaker <Anna.Schumaker@Netapp.com>2024-08-22 17:01:10 -0400
commita017ad1313fc91bdf235097fd0a02f673fc7bb11 (patch)
tree1e3db93771c1866bfcf490913b5b80910853326f /fs/nfs
parent95832998fb6edc50d4f2f6a958d9f90142d4be48 (diff)
downloadlinux-stable-a017ad1313fc91bdf235097fd0a02f673fc7bb11.tar.gz
linux-stable-a017ad1313fc91bdf235097fd0a02f673fc7bb11.tar.bz2
linux-stable-a017ad1313fc91bdf235097fd0a02f673fc7bb11.zip
NFSv4: Add missing rescheduling points in nfs_client_return_marked_delegations
We're seeing reports of soft lockups when iterating through the loops, so let's add rescheduling points. Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com> Reviewed-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to 'fs/nfs')
-rw-r--r--fs/nfs/super.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/nfs/super.c b/fs/nfs/super.c
index cbbd4866b0b7..97b386032b71 100644
--- a/fs/nfs/super.c
+++ b/fs/nfs/super.c
@@ -47,6 +47,7 @@
#include <linux/vfs.h>
#include <linux/inet.h>
#include <linux/in6.h>
+#include <linux/sched.h>
#include <linux/slab.h>
#include <net/ipv6.h>
#include <linux/netdevice.h>
@@ -228,6 +229,7 @@ static int __nfs_list_for_each_server(struct list_head *head,
ret = fn(server, data);
if (ret)
goto out;
+ cond_resched();
rcu_read_lock();
}
rcu_read_unlock();