Re: [RFC PATCH v2 00/15] NFSd state containerization

From: J. Bruce Fields
Date: Wed Nov 14 2012 - 17:00:29 EST


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(-)
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/