]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
NFS: Move NFS v4.0 pathdown recovery into nfs40client.c
authorAnna Schumaker <anna.schumaker@oracle.com>
Fri, 14 Nov 2025 21:03:41 +0000 (16:03 -0500)
committerAnna Schumaker <anna.schumaker@oracle.com>
Fri, 30 Jan 2026 16:42:20 +0000 (11:42 -0500)
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
fs/nfs/nfs40.h
fs/nfs/nfs40client.c
fs/nfs/nfs4state.c

index 5a9c5d367b125463327a04240ce7e1dc34117f4c..ee09aac738c84bec7f062749e6b67a6ea9b27c9e 100644 (file)
@@ -6,6 +6,7 @@
 /* nfs40client.c */
 void nfs40_shutdown_client(struct nfs_client *);
 int nfs40_init_client(struct nfs_client *);
+void nfs40_handle_cb_pathdown(struct nfs_client *clp);
 
 /* nfs40proc.c */
 extern const struct nfs4_minor_version_ops nfs_v4_0_minor_ops;
index cd105dc1cee1ab3d068b906fe02bb23c4b766c46..fc0c6b48fc948701f8ade9b1a241a6370d1b368a 100644 (file)
@@ -3,6 +3,7 @@
 #include "nfs4_fs.h"
 #include "nfs4session.h"
 #include "callback.h"
+#include "delegation.h"
 #include "internal.h"
 #include "netns.h"
 #include "nfs40.h"
@@ -80,6 +81,28 @@ int nfs40_init_client(struct nfs_client *clp)
        return 0;
 }
 
+/*
+ * nfs40_handle_cb_pathdown - return all delegations after NFS4ERR_CB_PATH_DOWN
+ * @clp: client to process
+ *
+ * Set the NFS4CLNT_LEASE_EXPIRED state in order to force a
+ * resend of the SETCLIENTID and hence re-establish the
+ * callback channel. Then return all existing delegations.
+ */
+void nfs40_handle_cb_pathdown(struct nfs_client *clp)
+{
+       set_bit(NFS4CLNT_LEASE_EXPIRED, &clp->cl_state);
+       nfs_expire_all_delegations(clp);
+       dprintk("%s: handling CB_PATHDOWN recovery for server %s\n", __func__,
+                       clp->cl_hostname);
+}
+
+void nfs4_schedule_path_down_recovery(struct nfs_client *clp)
+{
+       nfs40_handle_cb_pathdown(clp);
+       nfs4_schedule_state_manager(clp);
+}
+
 /**
  * nfs40_walk_client_list - Find server that recognizes a client ID
  *
index ead4d1ac4d0bb9af2115f067d09e60eb95ca5466..f3d441bb28af8b1cfb90446886119f5be1154c1e 100644 (file)
@@ -54,6 +54,7 @@
 #include <linux/sunrpc/clnt.h>
 
 #include "nfs4_fs.h"
+#include "nfs40.h"
 #include "callback.h"
 #include "delegation.h"
 #include "internal.h"
@@ -1294,28 +1295,6 @@ int nfs4_client_recover_expired_lease(struct nfs_client *clp)
        return ret;
 }
 
-/*
- * nfs40_handle_cb_pathdown - return all delegations after NFS4ERR_CB_PATH_DOWN
- * @clp: client to process
- *
- * Set the NFS4CLNT_LEASE_EXPIRED state in order to force a
- * resend of the SETCLIENTID and hence re-establish the
- * callback channel. Then return all existing delegations.
- */
-static void nfs40_handle_cb_pathdown(struct nfs_client *clp)
-{
-       set_bit(NFS4CLNT_LEASE_EXPIRED, &clp->cl_state);
-       nfs_expire_all_delegations(clp);
-       dprintk("%s: handling CB_PATHDOWN recovery for server %s\n", __func__,
-                       clp->cl_hostname);
-}
-
-void nfs4_schedule_path_down_recovery(struct nfs_client *clp)
-{
-       nfs40_handle_cb_pathdown(clp);
-       nfs4_schedule_state_manager(clp);
-}
-
 static int nfs4_state_mark_reclaim_reboot(struct nfs_client *clp, struct nfs4_state *state)
 {