Re: [REGRESSION] NFS is creating a hidden port (left over from xs_bind() )

From: Jeff Layton
Date: Thu Jun 18 2015 - 18:51:15 EST


On Thu, 18 Jun 2015 15:49:14 -0400
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

> On Thu, 18 Jun 2015 15:24:52 -0400
> Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> wrote:
>
> > On Wed, Jun 17, 2015 at 11:08 PM, Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> > > On Fri, 12 Jun 2015 11:50:38 -0400
> > > Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> > >
> > >> I reverted the following commits:
> > >>
> > >> c627d31ba0696cbd829437af2be2f2dee3546b1e
> > >> 9e2b9f37760e129cee053cc7b6e7288acc2a7134
> > >> caf4ccd4e88cf2795c927834bc488c8321437586
> > >>
> > >> And the issue goes away. That is, I watched the port go from
> > >> ESTABLISHED to TIME_WAIT, and then gone, and theirs no hidden port.
> > >>
> > >> In fact, I watched the port with my portlist.c module, and it
> > >> disappeared there too when it entered the TIME_WAIT state.
> > >>
> >
> > I've scanned those commits again and again, and I'm not seeing how we
> > could be introducing a socket leak there. The only suspect I can see
> > would be the NFS swap bugs that Jeff fixed a few weeks ago. Are you
> > using NFS swap?
>
> Not that I'm aware of.
>
> >
> > > I've been running v4.0.5 with the above commits reverted for 5 days
> > > now, and there's still no hidden port appearing.
> > >
> > > What's the status on this? Should those commits be reverted or is there
> > > another solution to this bug?
> > >
> >
> > I'm trying to reproduce, but I've had no luck yet.
>
> It seems to happen with the connection to my wife's machine, and that
> is where my wife's box connects two directories via nfs:
>
> This is what's in my wife's /etc/fstab directory
>
> goliath:/home/upload /upload nfs auto,rw,intr,soft 0 0
> goliath:/home/gallery /gallery nfs auto,ro,intr,soft 0 0
>
> And here's what's in my /etc/exports directory
>
> /home/upload wife(no_root_squash,no_all_squash,rw,sync,no_subtree_check)
> /home/gallery 192.168.23.0/24(ro,sync,no_subtree_check)
>
> Attached is my config.
>

The interesting bit here is that the sockets all seem to connect to port
55201 on the remote host, if I'm reading these traces correctly. What's
listening on that port on the server?

This might give some helpful info:

$ rpcinfo -p <NFS servername>

Also, what NFS version are you using to mount here? Your fstab entries
suggest that you're using the default version (for whatever distro this
is), but have you (e.g.) set up nfsmount.conf to default to v3 on this
box?

--
Jeff Layton <jlayton@xxxxxxxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/