diff options
author | Kinglong Mee <kinglongmee@gmail.com> | 2013-12-31 13:17:20 +0800 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2014-01-03 18:18:49 -0500 |
commit | 7e55b59b2f32afc83452ae250dfd6173c9a7b515 (patch) | |
tree | f8bbb3a9c80f4e29520f077b6962a287a1a46824 /include/linux/sunrpc | |
parent | 8a891633b832874e2a1545abbddfd33ba22eb016 (diff) | |
download | op-kernel-dev-7e55b59b2f32afc83452ae250dfd6173c9a7b515.zip op-kernel-dev-7e55b59b2f32afc83452ae250dfd6173c9a7b515.tar.gz |
SUNRPC/NFSD: Support a new option for ignoring the result of svc_register
NFSv4 clients can contact port 2049 directly instead of needing the
portmapper.
Therefore a failure to register to the portmapper when starting an
NFSv4-only server isn't really a problem.
But Gareth Williams reports that an attempt to start an NFSv4-only
server without starting portmap fails:
#rpc.nfsd -N 2 -N 3
rpc.nfsd: writing fd to kernel failed: errno 111 (Connection refused)
rpc.nfsd: unable to set any sockets for nfsd
Add a flag to svc_version to tell the rpc layer it can safely ignore an
rpcbind failure in the NFSv4-only case.
Reported-by: Gareth Williams <gareth@garethwilliams.me.uk>
Reviewed-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Kinglong Mee <kinglongmee@gmail.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'include/linux/sunrpc')
-rw-r--r-- | include/linux/sunrpc/svc.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/linux/sunrpc/svc.h b/include/linux/sunrpc/svc.h index b6316423..04e7632 100644 --- a/include/linux/sunrpc/svc.h +++ b/include/linux/sunrpc/svc.h @@ -386,8 +386,10 @@ struct svc_version { struct svc_procedure * vs_proc; /* per-procedure info */ u32 vs_xdrsize; /* xdrsize needed for this version */ - unsigned int vs_hidden : 1; /* Don't register with portmapper. + unsigned int vs_hidden : 1, /* Don't register with portmapper. * Only used for nfsacl so far. */ + vs_rpcb_optnl:1;/* Don't care the result of register. + * Only used for nfsv4. */ /* Override dispatch function (e.g. when caching replies). * A return value of 0 means drop the request. |