From: "J. Bruce Fields" <bfields@fieldses.org>
To: Nix <nix@esperi.org.uk>
Cc: Linux NFS Mailing List <linux-nfs@vger.kernel.org>
Subject: Re: persistent, quasi-random -ESTALE at mount time
Date: Fri, 24 Dec 2010 13:27:14 -0500 [thread overview]
Message-ID: <20101224182714.GA8899@fieldses.org> (raw)
In-Reply-To: <878vzo5dsh.fsf@spindle.srvr.nix>
On Fri, Dec 17, 2010 at 08:45:34PM +0000, Nix wrote:
> On 2 Oct 2010, J. Bruce Fields stated:
>
> > On Fri, Oct 01, 2010 at 11:41:42PM +0100, Nix wrote:
> >> I mean, yes, we can work around it by killing rpc.mountd and restarting
> >> it as soon as the server has booted, but, well, yuck, no thanks, too
> >> much of a kludge. I'll have a concentrated hunt for the bug soon (once I
> >> can reproduce it without rebooting the single largest machine I have
> >> root on!)
> >
> > OK, thanks for the persistence, and apologies that I can't think of
> > anything off the top of my head (and haven't had the time to try and
> > look more closely). I'll look forward to anything more you can figure
> > out....
>
> This is still happening. Just by chance (while checking to see if adding
> unique fsids to every line fixed it: no) I spotted something
> interesting, which I think points to the cause.
>
> You don't need to repeatedly kill rpc.mountd and restart it at all to
> fix things. You just have to run exportfs many times!
>
> Here are dumps of /proc/fs/nfs/exports on boot (after a single exportfs -ra),
> then after a subsequent one, then another:
...
> If exportfs is not correctly exporting everything to the kernel when
> run, that would pretty much explain the cause of spontaneous -ESTALEs on
> reboot, because rebooting clears the mount table: if a single exportfs
> is failing to properly refill it, mountd is going to say -ESTALE about
> everything it forgot to put back in.
Note that the contents of /proc/fs/nfs/exports represent the kernel's
cached view of the exports, *not* the entire export table; when a client
requests an export which the kernel does not know about, the kernel
makes an upcall to mountd to get the relevant export entry. All
exportfs does is clear the kernel's cache so that subsequent upcalls
will get the new information.
So it's normal that the contents of /porc/fs/nfs/exports would be
incomplete immediately after running exportfs.
--b.
>
>
> I'll scatter debugging through exportfs and try to see what it's doing
> wrong.
next prev parent reply other threads:[~2010-12-24 18:27 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-09-21 20:28 persistent, quasi-random -ESTALE at mount time Nix
2010-09-22 15:52 ` J. Bruce Fields
2010-09-23 21:03 ` Nix
2010-10-01 22:00 ` J. Bruce Fields
2010-10-01 22:41 ` Nix
2010-10-01 23:11 ` J. Bruce Fields
2010-12-17 20:45 ` Nix
2010-12-24 18:27 ` J. Bruce Fields [this message]
-- strict thread matches above, loose matches on Subject: below --
2011-02-02 3:56 George Spelvin
2011-02-03 3:48 ` J. Bruce Fields
2011-02-03 4:28 ` George Spelvin
2011-02-03 4:37 ` J. Bruce Fields
2011-02-03 4:40 ` J. Bruce Fields
2011-02-03 8:30 ` Nix
2011-02-03 13:40 ` J. Bruce Fields
2011-02-06 18:54 ` Nix
[not found] ` <87sjw156yx.fsf-AdTWujXS48Mg67Zj9sPl2A@public.gmane.org>
2011-02-06 19:23 ` J. Bruce Fields
[not found] ` <AANLkTinUMeTowsWtxFm+Ga_ChVztWuUNe6na_Tq+F2==@mail.gmail.com>
2011-02-06 19:31 ` J. Bruce Fields
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=20101224182714.GA8899@fieldses.org \
--to=bfields@fieldses.org \
--cc=linux-nfs@vger.kernel.org \
--cc=nix@esperi.org.uk \
/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;
as well as URLs for NNTP newsgroup(s).