All of lore.kernel.org
 help / color / mirror / Atom feed
From: "bfields@fieldses.org" <bfields@fieldses.org>
To: Stanislav Kinsbursky <skinsbursky@parallels.com>
Cc: Jeff Layton <jlayton@redhat.com>,
	"linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>
Subject: Re: [RFC] NFSd laundromat containerization
Date: Fri, 11 May 2012 11:09:38 -0400	[thread overview]
Message-ID: <20120511150938.GA13613@fieldses.org> (raw)
In-Reply-To: <4FAD1F03.8060909@parallels.com>

On Fri, May 11, 2012 at 06:15:31PM +0400, Stanislav Kinsbursky wrote:
> On 11.05.2012 18:02, Jeff Layton wrote:
> >On Fri, 11 May 2012 09:53:07 -0400
> >"bfields@fieldses.org"<bfields@fieldses.org>  wrote:
> >
> >>On Fri, May 11, 2012 at 05:50:44PM +0400, Stanislav Kinsbursky wrote:
> >>>Hello.
> >>>I'm currently looking on NFSd laundromat work, and it looks like
> >>>have to be performed per networks namespace context.
> >>>It's easy to make corresponding delayed work per network namespace
> >>>and thus gain per-net data pointer in laundromat function.
> >>>But here a problem appears: network namespace is required to skip
> >>>clients from other network namespaces while iterating over global
> >>>lists (client_lru and friends).
> >>>I see two possible solutions:
> >>>1) Make these list per network namespace context. In this case
> >>>network namespace will not be required - per-net data will be
> >>>enough.
> >>>2) Put network namespace link on per-net data (this one is easier, but uglier).
> >>
> >>I'd rather there be as few shared data structures between network
> >>namespaces as possible--I think that will simplify things.
> >>
> >>So, of those two choices, #1.
> >>
> >
> >Agreed, that's sort of how I envisioned things going. In general,
> >you'll want to move things that were one global structures to struct
> >nfsd_net, and fix up the code to manage that on a per-ns basis.
> >
> 
> Ok. I'll do it in first way.
> Anyway, this patch set with laundromat will depends on grace period
> containerization.
> 
> >The catch here is that the laundromat is somewhat intertwined with the
> >grace period, and you need to consider how to handle the grace period
> >between different namespaces. Do we keep a single grace period
> >per-machine as we have today? Or do we move to a per-ns grace period
> >that is started whenever someone starts up knfsd within the container?
> >
> 
> Second one. You can have a look at "Lockd: grace period
> containerization" patch set I've sent last week.

I think that makes the most sense.  It allows people to shoot themselves
in the foot in the case they're exporting the same content from two
different containers.  We'll need to figure out some way to help them.

But one of the common use cases seems to be exporting a set of
filesystems where one filesystem is exported by only one server at a
time, but people want to be able to move that one filesystem export from
one server to another, and this solves that problem.

For the first pass at this let's keep the servers as separate as
possible.

--b.

  reply	other threads:[~2012-05-11 15:09 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-11 13:50 [RFC] NFSd laundromat containerization Stanislav Kinsbursky
2012-05-11 13:53 ` bfields
2012-05-11 14:02   ` Jeff Layton
2012-05-11 14:15     ` Stanislav Kinsbursky
2012-05-11 15:09       ` bfields [this message]
2012-05-12  8:59   ` Stanislav Kinsbursky
2012-05-12 14:16     ` bfields
2012-05-12 14:40       ` Stanislav Kinsbursky
2012-05-14  9:00       ` Stanislav Kinsbursky
2012-05-14 10:19         ` Stanislav Kinsbursky
2012-05-15 13:40         ` Jeff Layton
2012-05-15 13:55           ` Jeff Layton

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=20120511150938.GA13613@fieldses.org \
    --to=bfields@fieldses.org \
    --cc=jlayton@redhat.com \
    --cc=linux-nfs@vger.kernel.org \
    --cc=skinsbursky@parallels.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.