SUNRPC: Remove svc_shutdown_net()
authorChuck Lever <chuck.lever@oracle.com>
Wed, 26 Jan 2022 16:30:55 +0000 (11:30 -0500)
committerChuck Lever <chuck.lever@oracle.com>
Mon, 28 Feb 2022 15:26:40 +0000 (10:26 -0500)
Clean up: svc_shutdown_net() now does nothing but call
svc_close_net(). Replace all external call sites.

svc_close_net() is renamed to be the inverse of svc_xprt_create().

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
fs/lockd/svc.c
fs/nfs/callback.c
fs/nfsd/nfssvc.c
include/linux/sunrpc/svc.h
include/linux/sunrpc/svc_xprt.h
net/sunrpc/svc.c
net/sunrpc/svc_xprt.c

index bba6f2b..c83ec4a 100644 (file)
@@ -248,7 +248,7 @@ out_err:
        if (warned++ == 0)
                printk(KERN_WARNING
                        "lockd_up: makesock failed, error=%d\n", err);
-       svc_shutdown_net(serv, net);
+       svc_xprt_destroy_all(serv, net);
        svc_rpcb_cleanup(serv, net);
        return err;
 }
@@ -287,7 +287,7 @@ static void lockd_down_net(struct svc_serv *serv, struct net *net)
                        nlm_shutdown_hosts_net(net);
                        cancel_delayed_work_sync(&ln->grace_period_end);
                        locks_end_grace(&ln->lockd_manager);
-                       svc_shutdown_net(serv, net);
+                       svc_xprt_destroy_all(serv, net);
                        svc_rpcb_cleanup(serv, net);
                }
        } else {
index c1a8767..c98c685 100644 (file)
@@ -189,7 +189,7 @@ static void nfs_callback_down_net(u32 minorversion, struct svc_serv *serv, struc
                return;
 
        dprintk("NFS: destroy per-net callback data; net=%x\n", net->ns.inum);
-       svc_shutdown_net(serv, net);
+       svc_xprt_destroy_all(serv, net);
 }
 
 static int nfs_callback_up_net(int minorversion, struct svc_serv *serv,
index ae25b7b..b92d272 100644 (file)
@@ -722,7 +722,7 @@ void nfsd_put(struct net *net)
        struct nfsd_net *nn = net_generic(net, nfsd_net_id);
 
        if (kref_put(&nn->nfsd_serv->sv_refcnt, nfsd_noop)) {
-               svc_shutdown_net(nn->nfsd_serv, net);
+               svc_xprt_destroy_all(nn->nfsd_serv, net);
                nfsd_last_thread(nn->nfsd_serv, net);
                svc_destroy(&nn->nfsd_serv->sv_refcnt);
                spin_lock(&nfsd_notifier_lock);
index 63794d7..5603158 100644 (file)
@@ -508,7 +508,6 @@ struct svc_serv *  svc_create_pooled(struct svc_program *, unsigned int,
                        const struct svc_serv_ops *);
 int               svc_set_num_threads(struct svc_serv *, struct svc_pool *, int);
 int               svc_pool_stats_open(struct svc_serv *serv, struct file *file);
-void              svc_shutdown_net(struct svc_serv *, struct net *);
 int               svc_process(struct svc_rqst *);
 int               bc_svc_process(struct svc_serv *, struct rpc_rqst *,
                        struct svc_rqst *);
index bf7d029..42e1137 100644 (file)
@@ -131,6 +131,7 @@ int svc_xprt_create(struct svc_serv *serv, const char *xprt_name,
                        struct net *net, const int family,
                        const unsigned short port, int flags,
                        const struct cred *cred);
+void   svc_xprt_destroy_all(struct svc_serv *serv, struct net *net);
 void   svc_xprt_received(struct svc_xprt *xprt);
 void   svc_xprt_enqueue(struct svc_xprt *xprt);
 void   svc_xprt_put(struct svc_xprt *xprt);
index 53efef3..08d6847 100644 (file)
@@ -536,12 +536,6 @@ out_err:
 }
 EXPORT_SYMBOL_GPL(svc_create_pooled);
 
-void svc_shutdown_net(struct svc_serv *serv, struct net *net)
-{
-       svc_close_net(serv, net);
-}
-EXPORT_SYMBOL_GPL(svc_shutdown_net);
-
 /*
  * Destroy an RPC service. Should be called with appropriate locking to
  * protect sv_permsocks and sv_tempsocks.
index 6809116..0c117d3 100644 (file)
@@ -1140,7 +1140,11 @@ static void svc_clean_up_xprts(struct svc_serv *serv, struct net *net)
        }
 }
 
-/*
+/**
+ * svc_xprt_destroy_all - Destroy transports associated with @serv
+ * @serv: RPC service to be shut down
+ * @net: target network namespace
+ *
  * Server threads may still be running (especially in the case where the
  * service is still running in other network namespaces).
  *
@@ -1152,7 +1156,7 @@ static void svc_clean_up_xprts(struct svc_serv *serv, struct net *net)
  * threads, we may need to wait a little while and then check again to
  * see if they're done.
  */
-void svc_close_net(struct svc_serv *serv, struct net *net)
+void svc_xprt_destroy_all(struct svc_serv *serv, struct net *net)
 {
        int delay = 0;
 
@@ -1163,6 +1167,7 @@ void svc_close_net(struct svc_serv *serv, struct net *net)
                msleep(delay++);
        }
 }
+EXPORT_SYMBOL_GPL(svc_xprt_destroy_all);
 
 /*
  * Handle defer and revisit of requests