Re: [RFC PATCH v2 00/15] NFSd state containerization
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
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
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
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
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
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
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
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
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
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
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
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/