All of lore.kernel.org
 help / color / mirror / Atom feed
From: "J. Bruce Fields" <bfields@fieldses.org>
To: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: Pavel Emelyanov <xemul@parallels.com>, Neil Brown <neilb@suse.de>,
	linux-nfs@vger.kernel.org
Subject: Re: [PATCH 0/9] sunrpc: Start making sunrpc work in containers
Date: Mon, 20 Sep 2010 16:09:50 -0400	[thread overview]
Message-ID: <20100920200950.GB18808@fieldses.org> (raw)
In-Reply-To: <1285013116.2851.71.camel@heimdal.trondhjem.org>

On Mon, Sep 20, 2010 at 04:05:16PM -0400, Trond Myklebust wrote:
> On Mon, 2010-09-20 at 23:13 +0400, Pavel Emelyanov wrote:
> > On 09/20/2010 10:04 PM, J. Bruce Fields wrote:
> > > On Mon, Sep 20, 2010 at 08:33:42PM +0400, Pavel Emelyanov wrote:
> > >>>> Looking forward to your feedback.
> > >>>
> > >>> What are you thinking of as a use-case for this?
> > >>
> > >> To make it possible run both NFS server and client in containers.
> > > 
> > > Could you describe that in user-visible terms?  (Currently if I create a
> > > new network namespace, what happens, and what will happen differently
> > > afterwards?)
> > 
> > This is not about the network namespace only I believe. E.g. the
> > nfsd filesystem is a filesystem already and shouldn't be tied to
> > any task-driven context.
> > 
> > E.g. as far as the net namespace part is concerned. First of all
> > the TCP/UDP socket used by transport will be per-namespace. User
> > will "feel" this for example by different routing and netfilter
> > rules applied to connections. Besides the rpc service sockets will
> > be per namespace as well.
> > 
> > >> Sure! The thing is that the full containerization of that stuff is
> > >> too many patches and I'm not sure that you and other maintainers wish
> > >> to review the 100-patch set in one go ;)
> > > 
> > > Well, if it's really all ready....
> > > 
> > > Better, though, would be an outline of the work to be done and what you
> > > expect to be working at the end.
> > 
> > The nearest plan is
> > 
> > 1. Prepare the sunrpc layer to work in net namespaces
> > 2. Make rpcpipefs and nfsd filesystems be mountable multiple times
> > 3. Make support for multiple instances of the nfsd caches
> > 4. Make suuport for multiple instances of the nfsd_serv
> > 
> > After this several NFSd-s can be used in containers (hopefully I
> > didn't miss anything).
> > 
> > Plans about the nfs client are much more obscure for now.
> 
> The client should be something like the following:
> 
>  1) Ensure sunrpc sockets are created using the correct net namespace

For the client, that's initially the net namespace of the mount?  (What
about submounts?)

>  2) Convert rpc_pipefs to be per-net namespace.
>  3) Convert the nfs_client and superblock to be per-net namespace
>  4) Convert lockd's struct host to be per-net namespace

What do we expect behavior to actually look like from the point of view
of somebody on the client?

I'd like to see someone write some kind of spec for how this should all
work.  That worries me a lot more than the code.....

--b.

  reply	other threads:[~2010-09-20 20:11 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-15 12:23 [PATCH 0/9] sunrpc: Start making sunrpc work in containers Pavel Emelyanov
2010-09-15 12:24 ` [PATCH 1/9] sunrpc: Pass the ip_map_parse's cd to lower calls Pavel Emelyanov
2010-09-15 12:25 ` [PATCH 2/9] sunrpc: Make xprt auth cache release work with the xprt Pavel Emelyanov
2010-09-15 12:25 ` [PATCH 3/9] sunrpc: Pass xprt to cached get/put routines Pavel Emelyanov
2010-09-15 12:26 ` [PATCH 4/9] sunrpc: Add net to pure API calls Pavel Emelyanov
2010-09-15 12:27 ` [PATCH 5/9] sunrpc: Add routines that allow registering per-net caches Pavel Emelyanov
2010-09-15 12:27 ` [PATCH 6/9] sunrpc: Tag svc_xprt with net Pavel Emelyanov
2010-09-15 12:28 ` [PATCH 7/9] sunrpc: The per-net skeleton Pavel Emelyanov
2010-09-20 17:19   ` J. Bruce Fields
2010-09-20 18:54     ` Pavel Emelyanov
2010-09-15 12:28 ` [PATCH 8/9] sunrpc: Make the /proc/net/rpc appear in net namespaces Pavel Emelyanov
2010-09-15 12:29 ` [PATCH 9/9] sunrpc: Make the ip_map_cache be per-net Pavel Emelyanov
2010-09-15 15:31 ` [PATCH 0/9] sunrpc: Start making sunrpc work in containers Boaz Harrosh
2010-09-15 16:05   ` Pavel Emelyanov
2010-09-20 16:13 ` J. Bruce Fields
2010-09-20 16:33   ` Pavel Emelyanov
2010-09-20 18:04     ` J. Bruce Fields
2010-09-20 19:13       ` Pavel Emelyanov
2010-09-20 19:28         ` Chuck Lever
2010-09-20 19:56           ` J. Bruce Fields
2010-09-20 20:13             ` Trond Myklebust
2010-09-20 20:35             ` Chuck Lever
2010-09-20 21:37               ` Trond Myklebust
2010-09-20 20:05         ` Trond Myklebust
2010-09-20 20:09           ` J. Bruce Fields [this message]
2010-09-20 21:36             ` Trond Myklebust
     [not found]               ` <1285018566.2851.159.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2010-09-20 21:43                 ` J. Bruce Fields
2010-09-21  7:11           ` Pavel Emelyanov
2010-09-21 12:18             ` Trond Myklebust
2010-09-21 12:31               ` Pavel Emelyanov
2010-10-08 17:06           ` Trond Myklebust

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=20100920200950.GB18808@fieldses.org \
    --to=bfields@fieldses.org \
    --cc=Trond.Myklebust@netapp.com \
    --cc=linux-nfs@vger.kernel.org \
    --cc=neilb@suse.de \
    --cc=xemul@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.