Re: [PATCH] nfsd: don't set SVC_SOCK_ANONYMOUS when creating nfsd sockets

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jul 22, 2024 at 08:32:39AM -0400, Jeff Layton wrote:
> On Fri, 2024-07-19 at 15:03 -0400, Chuck Lever wrote:
> > On Fri, Jul 19, 2024 at 02:55:53PM -0400, Jeff Layton wrote:
> > > When creating nfsd sockets via the netlink interface, we do want to
> > > register with the portmapper. Don't set SVC_SOCK_ANONYMOUS.
> > 
> > NFSD's RDMA transports don't register with rpcbind, for example.
> > 
> 
> They still aren't registered with this patch either. After doing
> nfsdctl autostart:
> 
> [kdevops@kdevops-nfsd ~]$ rpcinfo -p
>    program vers proto   port  service
>     100000    4   tcp    111  portmapper
>     100000    3   tcp    111  portmapper
>     100000    2   tcp    111  portmapper
>     100000    4   udp    111  portmapper
>     100000    3   udp    111  portmapper
>     100000    2   udp    111  portmapper
>     100024    1   udp  42104  status
>     100024    1   tcp  40159  status
>     100003    3   udp   2049  nfs
>     100227    3   udp   2049  nfs_acl
>     100003    3   tcp   2049  nfs
>     100003    4   tcp   2049  nfs
>     100227    3   tcp   2049  nfs_acl
>     100021    1   udp  46387  nlockmgr
>     100021    3   udp  46387  nlockmgr
>     100021    4   udp  46387  nlockmgr
>     100021    1   tcp  36565  nlockmgr
>     100021    3   tcp  36565  nlockmgr
>     100021    4   tcp  36565  nlockmgr
> 
> I don't see a need to do anything else here.

Fair enough. Applied to nfsd-fixes (for v6.11-rc).

Not registering RDMA transports with rpcbind was done to mimic
Solaris behavior, IIRC. I don't remember any functional reason not
to register them.


> > > Fixes: 16a471177496 NFSD: add listener-{set,get} netlink command
> > > Reported-by: Steve Dickson <steved@xxxxxxxxxx>
> > > Cc: Lorenzo Bianconi <lorenzo@xxxxxxxxxx>
> > > Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>
> > > ---
> > >  fs/nfsd/nfsctl.c | 3 +--
> > >  1 file changed, 1 insertion(+), 2 deletions(-)
> > > 
> > > diff --git a/fs/nfsd/nfsctl.c b/fs/nfsd/nfsctl.c
> > > index 9e0ea6fc2aa3..34eb2c2cbcde 100644
> > > --- a/fs/nfsd/nfsctl.c
> > > +++ b/fs/nfsd/nfsctl.c
> > > @@ -2069,8 +2069,7 @@ int nfsd_nl_listener_set_doit(struct sk_buff *skb, struct genl_info *info)
> > >  			continue;
> > >  		}
> > >  
> > > -		ret = svc_xprt_create_from_sa(serv, xcl_name, net, sa,
> > > -					      SVC_SOCK_ANONYMOUS,
> > > +		ret = svc_xprt_create_from_sa(serv, xcl_name, net, sa, 0,
> > >  					      get_current_cred());
> > >  		/* always save the latest error */
> > >  		if (ret < 0)
> > > 
> > > ---
> > > base-commit: 769d20028f45a4f442cfe558a32faba357a7f5e2
> > > change-id: 20240719-nfsd-next-d9582a2c50c2
> > > 
> > > Best regards,
> > > -- 
> > > Jeff Layton <jlayton@xxxxxxxxxx>
> > > 
> > 
> 
> -- 
> Jeff Layton <jlayton@xxxxxxxxxx>

-- 
Chuck Lever




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux