mirror of
				https://kernel.googlesource.com/pub/scm/linux/kernel/git/stable/linux-stable.git
				synced 2025-11-04 07:44:51 +10: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
					
				@ -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 {
 | 
			
		||||
 | 
			
		||||
@ -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,
 | 
			
		||||
 | 
			
		||||
@ -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);
 | 
			
		||||
 | 
			
		||||
@ -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 *);
 | 
			
		||||
 | 
			
		||||
@ -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);
 | 
			
		||||
 | 
			
		||||
@ -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.
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user