mirror of
https://gitee.com/bianbu-linux/linux-6.6
synced 2025-04-24 14:07:52 -04:00
SUNRPC: Remove svc_shutdown_net()
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>
This commit is contained in:
parent
4355d767a2
commit
c7d7ec8f04
7 changed files with 12 additions and 13 deletions
|
@ -248,7 +248,7 @@ out_err:
|
||||||
if (warned++ == 0)
|
if (warned++ == 0)
|
||||||
printk(KERN_WARNING
|
printk(KERN_WARNING
|
||||||
"lockd_up: makesock failed, error=%d\n", err);
|
"lockd_up: makesock failed, error=%d\n", err);
|
||||||
svc_shutdown_net(serv, net);
|
svc_xprt_destroy_all(serv, net);
|
||||||
svc_rpcb_cleanup(serv, net);
|
svc_rpcb_cleanup(serv, net);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
@ -287,7 +287,7 @@ static void lockd_down_net(struct svc_serv *serv, struct net *net)
|
||||||
nlm_shutdown_hosts_net(net);
|
nlm_shutdown_hosts_net(net);
|
||||||
cancel_delayed_work_sync(&ln->grace_period_end);
|
cancel_delayed_work_sync(&ln->grace_period_end);
|
||||||
locks_end_grace(&ln->lockd_manager);
|
locks_end_grace(&ln->lockd_manager);
|
||||||
svc_shutdown_net(serv, net);
|
svc_xprt_destroy_all(serv, net);
|
||||||
svc_rpcb_cleanup(serv, net);
|
svc_rpcb_cleanup(serv, net);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -189,7 +189,7 @@ static void nfs_callback_down_net(u32 minorversion, struct svc_serv *serv, struc
|
||||||
return;
|
return;
|
||||||
|
|
||||||
dprintk("NFS: destroy per-net callback data; net=%x\n", net->ns.inum);
|
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,
|
static int nfs_callback_up_net(int minorversion, struct svc_serv *serv,
|
||||||
|
|
|
@ -722,7 +722,7 @@ void nfsd_put(struct net *net)
|
||||||
struct nfsd_net *nn = net_generic(net, nfsd_net_id);
|
struct nfsd_net *nn = net_generic(net, nfsd_net_id);
|
||||||
|
|
||||||
if (kref_put(&nn->nfsd_serv->sv_refcnt, nfsd_noop)) {
|
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);
|
nfsd_last_thread(nn->nfsd_serv, net);
|
||||||
svc_destroy(&nn->nfsd_serv->sv_refcnt);
|
svc_destroy(&nn->nfsd_serv->sv_refcnt);
|
||||||
spin_lock(&nfsd_notifier_lock);
|
spin_lock(&nfsd_notifier_lock);
|
||||||
|
|
|
@ -508,7 +508,6 @@ struct svc_serv * svc_create_pooled(struct svc_program *, unsigned int,
|
||||||
const struct svc_serv_ops *);
|
const struct svc_serv_ops *);
|
||||||
int svc_set_num_threads(struct svc_serv *, struct svc_pool *, int);
|
int svc_set_num_threads(struct svc_serv *, struct svc_pool *, int);
|
||||||
int svc_pool_stats_open(struct svc_serv *serv, struct file *file);
|
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 svc_process(struct svc_rqst *);
|
||||||
int bc_svc_process(struct svc_serv *, struct rpc_rqst *,
|
int bc_svc_process(struct svc_serv *, struct rpc_rqst *,
|
||||||
struct svc_rqst *);
|
struct svc_rqst *);
|
||||||
|
|
|
@ -131,6 +131,7 @@ int svc_xprt_create(struct svc_serv *serv, const char *xprt_name,
|
||||||
struct net *net, const int family,
|
struct net *net, const int family,
|
||||||
const unsigned short port, int flags,
|
const unsigned short port, int flags,
|
||||||
const struct cred *cred);
|
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_received(struct svc_xprt *xprt);
|
||||||
void svc_xprt_enqueue(struct svc_xprt *xprt);
|
void svc_xprt_enqueue(struct svc_xprt *xprt);
|
||||||
void svc_xprt_put(struct svc_xprt *xprt);
|
void svc_xprt_put(struct svc_xprt *xprt);
|
||||||
|
|
|
@ -536,12 +536,6 @@ out_err:
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(svc_create_pooled);
|
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
|
* Destroy an RPC service. Should be called with appropriate locking to
|
||||||
* protect sv_permsocks and sv_tempsocks.
|
* protect sv_permsocks and sv_tempsocks.
|
||||||
|
|
|
@ -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
|
* Server threads may still be running (especially in the case where the
|
||||||
* service is still running in other network namespaces).
|
* 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
|
* threads, we may need to wait a little while and then check again to
|
||||||
* see if they're done.
|
* 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;
|
int delay = 0;
|
||||||
|
|
||||||
|
@ -1163,6 +1167,7 @@ void svc_close_net(struct svc_serv *serv, struct net *net)
|
||||||
msleep(delay++);
|
msleep(delay++);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(svc_xprt_destroy_all);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Handle defer and revisit of requests
|
* Handle defer and revisit of requests
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue