summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2026-01-28 05:46:09 +0100
committerAnna Schumaker <anna.schumaker@oracle.com>2026-01-30 16:49:15 -0500
commit4039fbedcbcb022704ff45533aa7860ce036ee6b (patch)
tree8d1dba5732642d5b76e6dedcbba1ea6e276734f9 /include
parent94b88865109c0ea10e5ba562a793673b4fb37113 (diff)
NFS: fix delayed delegation return handling
Rework this code that was totally busted at least as of my most recent changes. Introduce a separate list for delayed delegations so that they can't get lost and don't clutter up the returns list. Add a missing spin_unlock in the helper marking it as a regular pending return. Fixes: 0ebe655bd033 ("NFS: add a separate delegation return list") Reported-by: Chris Mason <clm@meta.com> Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/nfs_fs_sb.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/nfs_fs_sb.h b/include/linux/nfs_fs_sb.h
index 89826c3e15a2..4daee27fa5eb 100644
--- a/include/linux/nfs_fs_sb.h
+++ b/include/linux/nfs_fs_sb.h
@@ -260,6 +260,7 @@ struct nfs_server {
spinlock_t delegations_lock;
struct list_head delegations_return;
struct list_head delegations_lru;
+ struct list_head delegations_delayed;
atomic_long_t nr_active_delegations;
unsigned int delegation_hash_mask;
struct hlist_head *delegation_hash_table;
@@ -268,7 +269,6 @@ struct nfs_server {
unsigned long delegation_flags;
#define NFS4SERV_DELEGATION_EXPIRED (1)
-#define NFS4SERV_DELEGRETURN_DELAYED (2)
unsigned long delegation_gen;
unsigned long mig_gen;
unsigned long mig_status;