From: "J. Bruce Fields" <bfields@fieldses.org>
To: Stanislav Kinsbursky <skinsbursky@parallels.com>
Cc: linux-nfs@vger.kernel.org, devel@openvz.org,
Trond.Myklebust@netapp.com, linux-kernel@vger.kernel.org,
jlayton@redhat.com
Subject: Re: [RFC PATCH v2 00/15] NFSd state containerization
Date: Wed, 14 Nov 2012 17:00:36 -0500 [thread overview]
Message-ID: <20121114220036.GD539@fieldses.org> (raw)
In-Reply-To: <20121114152018.4708.63125.stgit@localhost.localdomain>
On Wed, Nov 14, 2012 at 06:20:59PM +0300, Stanislav Kinsbursky wrote:
> This patch set is my first attempt to containerize NFSv4 state - i.e. make it
> works in networks namespace context.
> I admit, that some of this new code could be partially rewritten during future
> NFSd containerization.
> But the overall idea look more or less correct to me.
> So, the main things here are:
> 1) making nfs4_client network namespace aware.
> 2) Allocating all hashes (except file_hashtbl and reclaim_str_hashtbl) per
> network namespace context on NFSd start (not init) and destroying on NFSd
> state shutdown.
> 3) Allocating of reclaim_str_hashtbl on legacy tracker start and destroying on
> legacy tracker stop.
> 4) Moving of client_lru and close_lru lists to per-net data.
> 5) Making lundromat network namespace aware.
These look OK and pass my tests. Jeff, do the revised recovery bits
look OK?
Have you done any testing?
It'd be interesting, for example, to know if there are any pynfs that
fail against the server in a non-init network namespace, but pass
normally.
--b.
>
> v2:
> 1) Rebased on current nfsd-next.
> 2) Legacy tracker init become clearer.
>
> The following series implements...
>
> ---
>
> Stanislav Kinsbursky (15):
> nfsd: use service net instead of hard-coded net where possible
> nfsd: make nfs4_client network namespace dependent
> nfsd: make reclaim_str_hashtbl allocated per net
> nfsd: make conf_id_hashtbl allocated per net
> nfsd: make conf_name_tree per net
> nfsd: make unconf_id_hashtbl allocated per net
> nfsd: make unconf_name_tree per net
> nfsd: make ownerstr_hashtbl allocated per net
> nfsd: make lockowner_ino_hashtbl allocated per net
> nfsd: make sessionid_hashtbl allocated per net
> nfsd: make client_lru list per net
> nfsd: make close_lru list per net
> nfsd: use service net instead of hard-coded init_net
> nfsd: pass nfsd_net instead of net to grace enders
> nfsd: make laundromat network namespace aware
>
>
> fs/nfsd/netns.h | 43 +++++
> fs/nfsd/nfs4callback.c | 2
> fs/nfsd/nfs4proc.c | 13 +
> fs/nfsd/nfs4recover.c | 102 ++++++++---
> fs/nfsd/nfs4state.c | 450 +++++++++++++++++++++++++++---------------------
> fs/nfsd/state.h | 17 +-
> fs/nfsd/xdr4.h | 2
> 7 files changed, 389 insertions(+), 240 deletions(-)
>
next prev parent reply other threads:[~2012-11-14 22:00 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-14 15:20 [RFC PATCH v2 00/15] NFSd state containerization Stanislav Kinsbursky
2012-11-14 15:21 ` [PATCH v2 01/15] nfsd: use service net instead of hard-coded net where possible Stanislav Kinsbursky
2012-11-14 15:21 ` [PATCH v2 02/15] nfsd: make nfs4_client network namespace dependent Stanislav Kinsbursky
2012-11-14 15:21 ` [PATCH v2 03/15] nfsd: make reclaim_str_hashtbl allocated per net Stanislav Kinsbursky
2012-11-14 15:21 ` [PATCH v2 04/15] nfsd: make conf_id_hashtbl " Stanislav Kinsbursky
2012-11-14 15:21 ` [PATCH v2 05/15] nfsd: make conf_name_tree " Stanislav Kinsbursky
2012-11-14 15:21 ` [PATCH v2 06/15] nfsd: make unconf_id_hashtbl allocated " Stanislav Kinsbursky
2012-11-14 15:21 ` [PATCH v2 07/15] nfsd: make unconf_name_tree " Stanislav Kinsbursky
2012-11-14 15:21 ` [PATCH v2 08/15] nfsd: make ownerstr_hashtbl allocated " Stanislav Kinsbursky
2012-11-14 15:21 ` [PATCH v2 09/15] nfsd: make lockowner_ino_hashtbl " Stanislav Kinsbursky
2012-11-14 15:21 ` [PATCH v2 10/15] nfsd: make sessionid_hashtbl " Stanislav Kinsbursky
2012-11-14 15:21 ` [PATCH v2 11/15] nfsd: make client_lru list " Stanislav Kinsbursky
2012-11-14 15:22 ` [PATCH v2 12/15] nfsd: make close_lru " Stanislav Kinsbursky
2012-11-14 15:22 ` [PATCH v2 13/15] nfsd: use service net instead of hard-coded init_net Stanislav Kinsbursky
2012-11-14 15:22 ` [PATCH v2 14/15] nfsd: pass nfsd_net instead of net to grace enders Stanislav Kinsbursky
2012-11-14 15:22 ` [PATCH v2 15/15] nfsd: make laundromat network namespace aware Stanislav Kinsbursky
2012-11-14 22:00 ` J. Bruce Fields [this message]
2012-11-15 10:23 ` [RFC PATCH v2 00/15] NFSd state containerization Stanislav Kinsbursky
2012-11-15 18:34 ` Jeff Layton
2012-11-21 20:44 ` J. Bruce Fields
2012-11-22 8:05 ` Stanislav Kinsbursky
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=20121114220036.GD539@fieldses.org \
--to=bfields@fieldses.org \
--cc=Trond.Myklebust@netapp.com \
--cc=devel@openvz.org \
--cc=jlayton@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--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 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).