From: Jeff Layton Date: Wed, 19 Nov 2014 12:51:22 +0000 (-0500) Subject: sunrpc: require svc_create callers to pass in meaningful shutdown routine X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=0b5707e4524eb817b7b02863887820d27b56910a;p=openwrt%2Fstaging%2Fblogic.git sunrpc: require svc_create callers to pass in meaningful shutdown routine Currently all svc_create callers pass in NULL for the shutdown parm, which then gets fixed up to be svc_rpcb_cleanup if the service uses rpcbind. Simplify this by instead having the the only caller that requires it (lockd) pass in svc_rpcb_cleanup and get rid of the special casing. Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields --- diff --git a/fs/lockd/svc.c b/fs/lockd/svc.c index d1bb7ecfd201..e94c887da2d7 100644 --- a/fs/lockd/svc.c +++ b/fs/lockd/svc.c @@ -350,7 +350,7 @@ static struct svc_serv *lockd_create_svc(void) printk(KERN_WARNING "lockd_up: no pid, %d users??\n", nlmsvc_users); - serv = svc_create(&nlmsvc_program, LOCKD_BUFSIZE, NULL); + serv = svc_create(&nlmsvc_program, LOCKD_BUFSIZE, svc_rpcb_cleanup); if (!serv) { printk(KERN_WARNING "lockd_up: create service failed\n"); return ERR_PTR(-ENOMEM); diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c index 2c1c49ebd84d..a06a891012e5 100644 --- a/net/sunrpc/svc.c +++ b/net/sunrpc/svc.c @@ -482,9 +482,6 @@ __svc_create(struct svc_program *prog, unsigned int bufsize, int npools, spin_lock_init(&pool->sp_lock); } - if (svc_uses_rpcbind(serv) && (!serv->sv_shutdown)) - serv->sv_shutdown = svc_rpcb_cleanup; - return serv; }