]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop queue-4.19/nfsv4-fix-dropped-lock-for-racing-open-and-delegation-return.patch
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 26 Aug 2023 19:57:39 +0000 (21:57 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 26 Aug 2023 19:57:39 +0000 (21:57 +0200)
queue-4.19/nfsv4-fix-dropped-lock-for-racing-open-and-delegation-return.patch [deleted file]
queue-4.19/series

diff --git a/queue-4.19/nfsv4-fix-dropped-lock-for-racing-open-and-delegation-return.patch b/queue-4.19/nfsv4-fix-dropped-lock-for-racing-open-and-delegation-return.patch
deleted file mode 100644 (file)
index d60de6f..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-From 1cbc11aaa01f80577b67ae02c73ee781112125fd Mon Sep 17 00:00:00 2001
-From: Benjamin Coddington <bcodding@redhat.com>
-Date: Fri, 30 Jun 2023 09:18:13 -0400
-Subject: NFSv4: Fix dropped lock for racing OPEN and delegation return
-
-From: Benjamin Coddington <bcodding@redhat.com>
-
-commit 1cbc11aaa01f80577b67ae02c73ee781112125fd upstream.
-
-Commmit f5ea16137a3f ("NFSv4: Retry LOCK on OLD_STATEID during delegation
-return") attempted to solve this problem by using nfs4's generic async error
-handling, but introduced a regression where v4.0 lock recovery would hang.
-The additional complexity introduced by overloading that error handling is
-not necessary for this case.  This patch expects that commit to be
-reverted.
-
-The problem as originally explained in the above commit is:
-
-    There's a small window where a LOCK sent during a delegation return can
-    race with another OPEN on client, but the open stateid has not yet been
-    updated.  In this case, the client doesn't handle the OLD_STATEID error
-    from the server and will lose this lock, emitting:
-    "NFS: nfs4_handle_delegation_recall_error: unhandled error -10024".
-
-Fix this by using the old_stateid refresh helpers if the server replies
-with OLD_STATEID.
-
-Suggested-by: Trond Myklebust <trondmy@hammerspace.com>
-Signed-off-by: Benjamin Coddington <bcodding@redhat.com>
-Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- fs/nfs/nfs4proc.c |    9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
---- a/fs/nfs/nfs4proc.c
-+++ b/fs/nfs/nfs4proc.c
-@@ -6644,8 +6644,15 @@ static void nfs4_lock_done(struct rpc_ta
-               } else if (!nfs4_update_lock_stateid(lsp, &data->res.stateid))
-                       goto out_restart;
-               break;
--      case -NFS4ERR_BAD_STATEID:
-       case -NFS4ERR_OLD_STATEID:
-+              if (data->arg.new_lock_owner != 0 &&
-+                      nfs4_refresh_open_old_stateid(&data->arg.open_stateid,
-+                                      lsp->ls_state))
-+                      goto out_restart;
-+              if (nfs4_refresh_lock_old_stateid(&data->arg.lock_stateid, lsp))
-+                      goto out_restart;
-+              fallthrough;
-+      case -NFS4ERR_BAD_STATEID:
-       case -NFS4ERR_STALE_STATEID:
-       case -NFS4ERR_EXPIRED:
-               if (data->arg.new_lock_owner != 0) {
index e2e1ed3a96b54216bc02d43f6025da8770a7c72f..bf315a9ee0a6bbc34c9d41415904858b25216687 100644 (file)
@@ -119,4 +119,3 @@ bonding-fix-macvlan-over-alb-bond-support.patch
 ipvs-improve-robustness-to-the-ipvs-sysctl.patch
 ipvs-fix-racy-memcpy-in-proc_do_sync_threshold.patch
 ibmveth-use-dcbf-rather-than-dcbfl.patch
-nfsv4-fix-dropped-lock-for-racing-open-and-delegation-return.patch