forked from Minki/linux
NFSd: call svc rpcbind cleanup explicitly
We have to call svc_rpcb_cleanup() explicitly from nfsd_last_thread() since this function is registered as service shutdown callback and thus nobody else will done it for us. Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
parent
8e356b1e2a
commit
16d0587090
@ -256,6 +256,8 @@ static void nfsd_last_thread(struct svc_serv *serv)
|
||||
nfsd_serv = NULL;
|
||||
nfsd_shutdown();
|
||||
|
||||
svc_rpcb_cleanup(serv);
|
||||
|
||||
printk(KERN_WARNING "nfsd: last server has exited, flushing export "
|
||||
"cache\n");
|
||||
nfsd_export_flush();
|
||||
|
@ -401,6 +401,7 @@ struct svc_procedure {
|
||||
/*
|
||||
* Function prototypes.
|
||||
*/
|
||||
void svc_rpcb_cleanup(struct svc_serv *serv);
|
||||
struct svc_serv *svc_create(struct svc_program *, unsigned int,
|
||||
void (*shutdown)(struct svc_serv *));
|
||||
struct svc_rqst *svc_prepare_thread(struct svc_serv *serv,
|
||||
|
@ -367,11 +367,12 @@ static int svc_rpcb_setup(struct svc_serv *serv)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void svc_rpcb_cleanup(struct svc_serv *serv)
|
||||
void svc_rpcb_cleanup(struct svc_serv *serv)
|
||||
{
|
||||
svc_unregister(serv);
|
||||
rpcb_put_local();
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(svc_rpcb_cleanup);
|
||||
|
||||
static int svc_uses_rpcbind(struct svc_serv *serv)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user