[Devel] Re: [PATCH 6/6] SUNRPC: split SUNPRC PipeFS dentry and private pipe data creation

2011-12-26 Thread Stanislav Kinsbursky
25.12.2011 17:16, Trond Myklebust пишет: @@ -387,7 +397,9 @@ nfs_idmap_delete(struct nfs_client *clp) > > if (!idmap) > return; > - rpc_unlink(idmap->idmap_dentry); > + if (idmap->idmap_pipe->dentry) Shouldn't this be a test for IS_ERR(idmap->idmap_pipe->dentry)

[Devel] [PATCH v2] SUNRPC: remove non-exclusive pipe creation from RPC pipefs

2011-12-26 Thread Stanislav Kinsbursky
This patch was created in context of clone of git branch: git://git.linux-nfs.org/projects/trondmy/nfs-2.6.git and rebased on tag "v3.2-rc7". v2: 1) rebased on tag "v3.2-rc7". SUNRPC pipefs non-exclusive pipe creation code looks obsolete. IOW, as I see it, all pipes are creating with unique full

[Devel] [PATCH v3 0/7] SUNRPC: initial part of making pipefs work in net ns

2011-12-26 Thread Stanislav Kinsbursky
This patch-set was created in context of clone of git branch: git://git.linux-nfs.org/projects/trondmy/nfs-2.6.git. v3: 1) Rebased on tag "v3.2-rc7". v2: 1) Rebased of current repo state (i.e. all commits were pulled before apply) This patch-set implements pipefs superblock creation per network

[Devel] [PATCH v3 1/7] SUNRPC: create RPC pipefs superblock per network namespace context

2011-12-26 Thread Stanislav Kinsbursky
This is the initial step of RPC pipefs virtualization. It changes nothing to current pipefs behaviour except that mount of pipefs in other than init_net network namespace context will provide only root tree. No other dentries will be visible. Signed-off-by: Stanislav Kinsbursky --- net/sunrpc/r

[Devel] [PATCH v3 7/7] SUNRPC: added debug messages to RPC pipefs

2011-12-26 Thread Stanislav Kinsbursky
This patch adds debug messages for notification events. Signed-off-by: Stanislav Kinsbursky --- net/sunrpc/rpc_pipe.c |8 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c index e40ec55..0cafd59 100644 --- a/net/sunrpc/rpc_

[Devel] [PATCH v3 2/7] SUNRPC: hold current network namespace while pipefs superblock is active

2011-12-26 Thread Stanislav Kinsbursky
We want to be sure that network namespace is still alive while we have pipefs mounted. This will be required later, when RPC pipefs will be mounting only from user-space context. Signed-off-by: Stanislav Kinsbursky --- net/sunrpc/rpc_pipe.c | 14 +- 1 files changed, 13 insertions(

[Devel] [PATCH v3 3/7] SUNRPC: send notification events on pipefs sb creation and destruction

2011-12-26 Thread Stanislav Kinsbursky
They will be used to notify subscribers about pipefs superblock creation and destruction. Subcribers will have to create their dentries on passed superblock on mount event and destroy otherwise. Signed-off-by: Stanislav Kinsbursky --- include/linux/sunrpc/rpc_pipe_fs.h |8 net/sunr

[Devel] [PATCH v3 4/7] SUNRPC: pipefs dentry lookup helper introduced

2011-12-26 Thread Stanislav Kinsbursky
In all places, where pipefs dentries are created, only directory inode is actually required to create new dentry. And all this directories has root pipefs dentry as their parent. So we actually don't need this pipefs mount point at all if some pipefs lookup method will be provided. IOW, all we real

[Devel] [PATCH v3 5/7] SUNRPC: put pipefs superblock link on network namespace

2011-12-26 Thread Stanislav Kinsbursky
We have modules (like, pNFS blocklayout module) which creates pipes on rpc_pipefs. Thus we need per-net operations for them. To make it possible we require appropriate super block. So we have to put sb link on network namespace context. Note, that it's not strongly required to create pipes in per-n

[Devel] [PATCH v3 6/7] SUNRPC: pipefs per-net operations helper introduced

2011-12-26 Thread Stanislav Kinsbursky
During per-net pipes creation and destruction we have to make sure, that pipefs sb exists for the whole creation/destruction cycle. This is done by using special mutex which controls pipefs sb reference on network namespace context. Helper consists of two parts: first of them (rpc_get_dentry_net) s

[Devel] [PATCH v2 0/6] SUNPRC: cleanup PipeFS for network-namespace-aware users

2011-12-26 Thread Stanislav Kinsbursky
This patch-set was created in context of clone of git branch: git://git.linux-nfs.org/projects/trondmy/nfs-2.6.git. tag: v3.2-rc7 v2: 1) rebased on tag "v3.2-rc7" 2) some cleanup and minor changes This is cleanup precursor patch set. It's required for easier further implementation of network-name

[Devel] [PATCH v2 4/6] SUNPRC: cleanup RPC PipeFS pipes upcall interface

2011-12-26 Thread Stanislav Kinsbursky
RPC pipe upcall doesn't requires only private pipe data. Thus RPC inode references in this code can be removed. Signed-off-by: Stanislav Kinsbursky --- fs/nfs/blocklayout/blocklayoutdev.c |2 +- fs/nfs/blocklayout/blocklayoutdm.c |2 +- fs/nfs/idmap.c |4 ++--

[Devel] [PATCH v2 5/6] SUNRPC: cleanup GSS pipes usage

2011-12-26 Thread Stanislav Kinsbursky
Currently gss auth holds RPC inode pointer which is now redundant since it requires only pipes operations which takes private pipe data as an argument. Thus this code can be cleaned and all references to RPC inode can be replaced with privtae pipe data references. Signed-off-by: Stanislav Kinsburs

[Devel] [PATCH v2 2/6] SUNRPC: split SUNPRC PipeFS pipe data and inode creation

2011-12-26 Thread Stanislav Kinsbursky
Generally, pipe data is used only for pipes, and thus allocating space for it on every RPC inode allocation is redundant. This patch splits private SUNRPC PipeFS pipe data and inode, makes pipe data allocated only for pipe inodes. This patch is also is a next step towards to to removing PipeFS inod

[Devel] [PATCH v2 3/6] SUNRPC: cleanup PipeFS redundant RPC inode usage

2011-12-26 Thread Stanislav Kinsbursky
This patch removes redundant RPC inode references from PipeFS. These places are actually where pipes operations are performed. Signed-off-by: Stanislav Kinsbursky --- net/sunrpc/rpc_pipe.c | 93 - 1 files changed, 46 insertions(+), 47 deletions(

[Devel] [PATCH v2 1/6] SUNRPC: replace inode lock with pipe lock for RPC PipeFS operations

2011-12-26 Thread Stanislav Kinsbursky
Currenly, inode i_lock is used to provide concurrent access to SUNPRC PipeFS pipes. It looks redundant, since now other use of inode is present in most of these places and thus can be easely replaced, which will allow to remove most of inode references from PipeFS code. This is a first step towards

[Devel] [PATCH v2 6/6] SUNRPC: split SUNPRC PipeFS dentry and private pipe data creation

2011-12-26 Thread Stanislav Kinsbursky
This patch is a final step towards to removing PipeFS inode references from kernel code other than PipeFS itself. It makes all kernel SUNRPC PipeFS users depends on pipe private data, which state depend on their specific operations, etc. This patch completes SUNRPC PipeFS preparations and allows to

[Devel] Re: [PATCH v2 0/6] SUNPRC: cleanup PipeFS for network-namespace-aware users

2011-12-26 Thread Stanislav Kinsbursky
Hello, Trond. This patch set depend on "SUNRPC: initial part of making pipefs work in net ns" and "SUNRPC: remove non-exclusive pipe creation from RPC pipefs" I'm not sure about did you applied them already or not, so I've rebased and resent them too. -- Best regards, Stanislav Kinsbursky ___

[Devel] Re: [PATCH] SUNRPC: make SUNPRC clients list per network namespace context

2011-12-26 Thread Stanislav Kinsbursky
25.12.2011 16:48, Trond Myklebust пишет: On Wed, 2011-12-14 at 12:19 +0300, Stanislav Kinsbursky wrote: This patch moves static SUNRPC clients list and it's lock to sunrpc_net structure. Currently this list is used only for debug purposes. But later it will be used also for selecting clients by