From: "J. Bruce Fields" <bfields@citi.umich.edu>
To: Neil Brown <neilb@suse.de>
Cc: Steve Dickson <steved@redhat.com>, linux-nfs@vger.kernel.org
Subject: Re: [PATCH 3/3] mountd: fix crossmnt options in v2/v3 case
Date: Mon, 8 Mar 2010 13:21:48 -0500 [thread overview]
Message-ID: <20100308182148.GB1675@fieldses.org> (raw)
In-Reply-To: <20100308101014.14e635b2-wvvUuzkyo1EYVZTmpyfIwg@public.gmane.org>
On Mon, Mar 08, 2010 at 10:10:14AM +1100, Neil Brown wrote:
> On Sun, 7 Mar 2010 16:58:26 -0500
> "J. Bruce Fields" <bfields@citi.umich.edu> wrote:
> > Don't we have this problem already, then? The export cache really is
> > just a cache, and we should be prepared for a given entry to be purged
> > at any time.
> >
>
> Yes, it is a cache, but things don't get pushed out when it is 'full', so you
> can expect items to stay out their expiry time.
At least for some caches we may want some sort of pruning when they get
to full.
If we do that, then we may want to vary the behavior from cache to
cache, hence keeping the export cache protected from this deadlock.
Though I'd rather avoid that kind of special case if we could.
> So if you add something
> with an expiry 30 minutes in the future, you can usually expect it to still
> be there in 30 seconds.
>
> If someone ran "exportfs -f"
or "exportfs -r"?
> at exactly the wrong time you might be able to deadlock mountd (I'd
> have to double-check to be sure), but that is very different from
> mountd acting in a way which leads directly to a deadlock.
Yeah, agreed. It's still a bug--people are supposed to be able to do
that without deadlock--but, sure, it may be unbelievably hard to hit.
So, I need to look harder at this, thanks for the review. (May take a
few days, though, so if someone else wants to volunteer, feel free.)
I wonder how best to eliminate the deadlock:
- Allow fh downcall to return -EAGAIN, let mountd change that to
a JUKEBOX or dropped rpc?
- Require mountd run two processes, with one dedicated to
upcalls?
- Separate mountd entirely into an upcall-handling daemon and an
rpc daemon?
Occasionally we seem to hear from a security-conscious administrator
who's running v4-only and is irritated that they have to firewall off
mountd instead of just being able to kill it entirely. The latter might
reassure them, I suppose.
--b.
next prev parent reply other threads:[~2010-03-08 18:20 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-28 10:06 Problems with crossmnt since 1.2.1 Iustin Pop
[not found] ` <20100228100643.GG26178-kWFYwFCQMdQkLqoNrXjPMti2O/JbrIOy@public.gmane.org>
2010-03-01 20:40 ` J. Bruce Fields
2010-03-01 21:13 ` Iustin Pop
[not found] ` <20100301211306.GA16341-kWFYwFCQMdQkLqoNrXjPMti2O/JbrIOy@public.gmane.org>
2010-03-01 21:39 ` J. Bruce Fields
2010-03-01 21:41 ` Iustin Pop
[not found] ` <20100301214116.GB16341-kWFYwFCQMdQkLqoNrXjPMti2O/JbrIOy@public.gmane.org>
2010-03-01 21:52 ` J. Bruce Fields
2010-03-02 3:20 ` J. Bruce Fields
2010-03-07 19:54 ` Iustin Pop
[not found] ` <20100307195449.GE9237-kWFYwFCQMdQkLqoNrXjPMti2O/JbrIOy@public.gmane.org>
2010-03-07 20:06 ` J. Bruce Fields
2010-03-07 20:07 ` [PATCH 1/3] mountd: fix path comparison for v4 crossmnt J. Bruce Fields
2010-03-07 20:08 ` [PATCH 2/3] mountd: trivial: name parameters for clarity J. Bruce Fields
2010-03-07 20:08 ` [PATCH 3/3] mountd: fix crossmnt options in v2/v3 case J. Bruce Fields
2010-03-07 21:25 ` Neil Brown
[not found] ` <20100308082516.260e5f70-wvvUuzkyo1EYVZTmpyfIwg@public.gmane.org>
2010-03-07 21:58 ` J. Bruce Fields
2010-03-07 23:10 ` Neil Brown
[not found] ` <20100308101014.14e635b2-wvvUuzkyo1EYVZTmpyfIwg@public.gmane.org>
2010-03-08 18:21 ` J. Bruce Fields [this message]
2010-03-08 18:23 ` J. Bruce Fields
2010-03-08 18:30 ` Chuck Lever
2010-03-08 18:41 ` J. Bruce Fields
2010-03-08 18:45 ` Chuck Lever
2010-03-08 19:56 ` Steve Dickson
2010-03-08 20:04 ` [PATCH 2/3] mountd: trivial: name parameters for clarity Steve Dickson
2010-03-08 20:04 ` [PATCH 1/3] mountd: fix path comparison for v4 crossmnt Steve Dickson
2010-03-08 20:28 ` Problems with crossmnt since 1.2.1 Steve Dickson
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=20100308182148.GB1675@fieldses.org \
--to=bfields@citi.umich.edu \
--cc=linux-nfs@vger.kernel.org \
--cc=neilb@suse.de \
--cc=steved@redhat.com \
/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