From: Nix <nix@esperi.org.uk>
To: NFS list <linux-nfs@vger.kernel.org>
Subject: what on earth is going on here? paths above mountpoints turn into "(unreachable)"
Date: Tue, 03 Feb 2015 00:25:18 +0000 [thread overview]
Message-ID: <87iofju9ht.fsf@spindle.srvr.nix> (raw)
This is with client and server both running NFSv3 on 3.18.4 (an upgrade
to .5 is on the cards soon). (This is *not* the same client I've been
reporting the panic on, though the server is the same, and this client
too has been seeing the panic. Not that that's relevant, since that's a
bug on shutdown, and this isn't. Indeed this may not be a bug at all,
but it's new behaviour with 3.18.x, and it breaks programs, and it's
weird.)
The server says (for this client):
/usr/archive -fsid=25,root_squash,async,subtree_check,crossmnt mutilate(rw,root_squash,insecure)
/usr/archive/series -fsid=29,root_squash,async,subtree_check mutilate(rw,root_squash,insecure)
The client says:
package.srvr.nix:/usr/archive /usr/archive nfs defaults,rw
(i.e. relying on the crossmnt, though I have just changed this to
explicitly mount both mount points, while preserving the crossmnt on the
parent for the sake of other clients that can't mount both because
they're using libnfs and need to follow symlinks from other places under
/usr/archive/ into /usr/archive/series, and the software is too stupid
to understand that there might be more than one mount point involved.)
I'm seeing this bizarre output after a long delay (memory pressure not
required: vapoursynth, which was running here, is using a couple of gig
out of 16GiB, and the machine has 12GiB in buffers/cache):
FileNotFoundError: [Errno 2] No such file or directory: '(unreachable)/Orphan-Black/1'
Failed to retrieve output node. Invalid index specified?
pipe:: Invalid data found when processing input
nix@mutilate 45 .../Orphan-Black/1% pwd -P
/usr/archive/series/Orphan-Black/1
# Well, doesn't this cwd look weird.
nix@mutilate 46 ...//1% ls -l /proc/self/cwd
lrwxrwxrwx 1 nix users 0 Feb 2 23:28 /proc/self/cwd -> /Orphan-Black/1
nix@mutilate 49 .../Orphan-Black/1% ls -id .
624194 .
# Try going out of the directory and back into it again.
nix@mutilate 50 .../Orphan-Black/1% cd -
/tmp
nix@mutilate 51 /tmp% cd -
/usr/archive/series/Orphan-Black/1
# Same inode, but now the cwd is valid!
nix@mutilate 52 .../Orphan-Black/1% ls -id .
624194 .
nix@mutilate 54 .../Orphan-Black/1% ls -l /proc/self/cwd
lrwxrwxrwx 1 nix users 0 Feb 2 23:28 /proc/self/cwd -> /usr/archive/series/Orphan-Black/1
So something about the mountpoint is expiring away, as if it had been
umount -l'ed. No automounter of any kind is running, and (obviously) it
*wasn't* umount -l'ed.
I guess by tomorrow I'll know if this is crossmnt-related, at least... I
know crossmnt is considered bad and evil: is this sort of thing why?
The filesystem being NFS-exported is on a USB-attached disk that spins
down when not in use, but I'd not expect that to do anything other than
cause delays on first access (and indeed even if I turn off spindown
this still happens, even though the filesystem is perfectly accessible,
from the server and indeed from the client: it's just... disconnected,
which seems to greatly annoy a lot of programs.)
If it happens again I'll see if I can arrange to have two processes, one
with a cwd in the full path, one with a cwd in the truncated one. That
at least will tell us whether this is some sort of expiry thing attached
to one mountpoint, and going back into it is de-expiring it for all
users under that mountpoint, or whether we really are seeing a new mount
here, somehow (how, without mount(2) ever being called?!).
--
NULL && (void)
next reply other threads:[~2015-02-03 0:25 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-03 0:25 Nix [this message]
2015-02-03 19:53 ` what on earth is going on here? paths above mountpoints turn into "(unreachable)" J. Bruce Fields
2015-02-03 19:57 ` Nix
2015-02-04 23:28 ` Nix
2015-02-05 0:26 ` NeilBrown
2015-02-10 17:48 ` Nix
2015-02-10 18:32 ` J. Bruce Fields
2015-02-11 23:07 ` Nix
2015-02-11 23:18 ` NeilBrown
2015-02-12 1:50 ` Nix
2015-02-12 15:38 ` J. Bruce Fields
2015-02-14 13:17 ` Nix
2015-02-16 2:46 ` NeilBrown
2015-02-16 3:57 ` NeilBrown
2015-02-17 17:32 ` Nix
2015-02-20 17:26 ` Nix
2015-02-20 21:03 ` NeilBrown
2015-02-16 4:28 ` Trond Myklebust
2015-02-16 4:54 ` NeilBrown
2015-02-22 22:13 ` Trond Myklebust
2015-02-22 22:47 ` NeilBrown
2015-02-23 2:05 ` Trond Myklebust
2015-02-23 2:33 ` Trond Myklebust
2015-02-23 3:05 ` NeilBrown
2015-02-23 3:33 ` Trond Myklebust
2015-02-23 4:49 ` NeilBrown
2015-02-23 13:55 ` Trond Myklebust
2015-02-16 15:43 ` J. Bruce Fields
2015-02-11 3:07 ` NeilBrown
2015-02-11 23:11 ` Nix
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87iofju9ht.fsf@spindle.srvr.nix \
--to=nix@esperi.org.uk \
--cc=linux-nfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox