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

2012-11-22 Thread Stanislav Kinsbursky

22.11.2012 00:44, J. Bruce Fields пишет:

On Thu, Nov 15, 2012 at 01:34:08PM -0500, Jeff Layton wrote:

On Wed, 14 Nov 2012 17:00:36 -0500
"J. Bruce Fields"  wrote:


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.



I looked over the patches and they look sane to me. I move that they go
into your -next branch to soak for a bit.


Stanislav, actually, I'm unclear, since you labeled these "RFC": do you
consider these patches ready?



Yes, I consider them ready.
I added the "RFC" mark, because I'm not completely sure, this this code wont' be
partially rewritten in future.


--b.




--
Best regards,
Stanislav Kinsbursky
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2012-11-22 Thread Stanislav Kinsbursky

22.11.2012 00:44, J. Bruce Fields пишет:

On Thu, Nov 15, 2012 at 01:34:08PM -0500, Jeff Layton wrote:

On Wed, 14 Nov 2012 17:00:36 -0500
J. Bruce Fields bfie...@fieldses.org wrote:


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.



I looked over the patches and they look sane to me. I move that they go
into your -next branch to soak for a bit.


Stanislav, actually, I'm unclear, since you labeled these RFC: do you
consider these patches ready?



Yes, I consider them ready.
I added the RFC mark, because I'm not completely sure, this this code wont' be
partially rewritten in future.


--b.




--
Best regards,
Stanislav Kinsbursky
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2012-11-21 Thread J. Bruce Fields
On Thu, Nov 15, 2012 at 01:34:08PM -0500, Jeff Layton wrote:
> On Wed, 14 Nov 2012 17:00:36 -0500
> "J. Bruce Fields"  wrote:
> 
> > 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.
> > 
> 
> I looked over the patches and they look sane to me. I move that they go
> into your -next branch to soak for a bit.

Stanislav, actually, I'm unclear, since you labeled these "RFC": do you
consider these patches ready?

--b.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2012-11-21 Thread J. Bruce Fields
On Thu, Nov 15, 2012 at 01:34:08PM -0500, Jeff Layton wrote:
 On Wed, 14 Nov 2012 17:00:36 -0500
 J. Bruce Fields bfie...@fieldses.org wrote:
 
  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.
  
 
 I looked over the patches and they look sane to me. I move that they go
 into your -next branch to soak for a bit.

Stanislav, actually, I'm unclear, since you labeled these RFC: do you
consider these patches ready?

--b.
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2012-11-15 Thread Jeff Layton
On Wed, 14 Nov 2012 17:00:36 -0500
"J. Bruce Fields"  wrote:

> 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.
> 

I looked over the patches and they look sane to me. I move that they go
into your -next branch to soak for a bit.

Cheers,
-- 
Jeff Layton 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2012-11-15 Thread Stanislav Kinsbursky

15.11.2012 02:00, J. Bruce Fields пишет:

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?


I've done basic testing. I.e. NFS server start/stop in loop, export, share mount 
on another node and some activity, etc.

NFS server is not ready yet to work on container, so no such testing has been 
done.



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.




--
Best regards,
Stanislav Kinsbursky
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2012-11-15 Thread Stanislav Kinsbursky

15.11.2012 02:00, J. Bruce Fields пишет:

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?


I've done basic testing. I.e. NFS server start/stop in loop, export, share mount 
on another node and some activity, etc.

NFS server is not ready yet to work on container, so no such testing has been 
done.



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.




--
Best regards,
Stanislav Kinsbursky
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2012-11-15 Thread Jeff Layton
On Wed, 14 Nov 2012 17:00:36 -0500
J. Bruce Fields bfie...@fieldses.org wrote:

 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.
 

I looked over the patches and they look sane to me. I move that they go
into your -next branch to soak for a bit.

Cheers,
-- 
Jeff Layton jlay...@redhat.com
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2012-11-14 Thread J. Bruce Fields
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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[RFC PATCH v2 00/15] NFSd state containerization

2012-11-14 Thread Stanislav Kinsbursky
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.

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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[RFC PATCH v2 00/15] NFSd state containerization

2012-11-14 Thread Stanislav Kinsbursky
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.

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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2012-11-14 Thread J. Bruce Fields
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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/