SUNRPC/NFSD: Support a new option for ignoring the result of svc_register
authorKinglong Mee <kinglongmee@gmail.com>
Tue, 31 Dec 2013 05:17:20 +0000 (13:17 +0800)
committerJ. Bruce Fields <bfields@redhat.com>
Fri, 3 Jan 2014 23:18:49 +0000 (18:18 -0500)
commit7e55b59b2f32afc83452ae250dfd6173c9a7b515
treef8bbb3a9c80f4e29520f077b6962a287a1a46824
parent8a891633b832874e2a1545abbddfd33ba22eb016
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>
fs/nfsd/nfs4proc.c
include/linux/sunrpc/svc.h
net/sunrpc/svc.c