The commit is pushed to "branch-rh7-3.10.0-229.7.2-ovz" and will appear at 
https://src.openvz.org/scm/ovz/vzkernel.git
after rh7-3.10.0-229.7.2.vz7.6.3
------>
commit 9b72ce16b191d84da03da83d5ccec29de8854686
Author: Vladimir Davydov <vdavy...@parallels.com>
Date:   Fri Aug 28 16:42:41 2015 +0400

    Revert "VE/VFS: use sb->s_ns member to store namespace for mount_ns() calls"
    
    Patchset description:
    
    zap sb->s_ns + fix memleak in binfmt_misc
    
    Vladimir Davydov (6):
      binfmt_misc: do not use sb->s_fs_info
      Revert "VE/VFS: use sb->s_ns member to store namespace for mount_ns()
        calls"
      Revert "ve/sunrpc: use correct pointer to net_namespace in auth_gss.c"
      Revert "nfsd/sunrpc/mqueue: use sb->s_ns instead of data in
        fill_super"
      binfmt_misc: do not use s_ns
      binfmt_misc: destroy all nodes on ve stop
    
    https://jira.sw.ru/browse/PSBM-39154
    
    Reviewed-by: Cyrill Gorcunov <gorcu...@virtuozzo.com>
    
    ======================
    This patch description:
    
    This reverts commit 9e7411c5c3b53937171ef962ce7381337f125b28.
    
    This patch is not longer needed, because none of the mount_ns users
    needs sb->s_fs_info any more.
    
    Signed-off-by: Vladimir Davydov <vdavy...@parallels.com>
---
 fs/nfs/dns_resolve.c  | 2 +-
 fs/nfsd/nfs4recover.c | 4 ++--
 fs/super.c            | 4 ++--
 include/linux/fs.h    | 2 --
 ipc/mqueue.c          | 6 +++---
 net/sunrpc/clnt.c     | 2 +-
 net/sunrpc/rpc_pipe.c | 4 ++--
 7 files changed, 11 insertions(+), 13 deletions(-)

diff --git a/fs/nfs/dns_resolve.c b/fs/nfs/dns_resolve.c
index dda6202..d25f10f 100644
--- a/fs/nfs/dns_resolve.c
+++ b/fs/nfs/dns_resolve.c
@@ -415,7 +415,7 @@ static int rpc_pipefs_event(struct notifier_block *nb, 
unsigned long event,
                           void *ptr)
 {
        struct super_block *sb = ptr;
-       struct net *net = sb->s_ns;
+       struct net *net = sb->s_fs_info;
        struct nfs_net *nn = net_generic(net, nfs_net_id);
        struct cache_detail *cd = nn->nfs_dns_resolve;
        int ret = 0;
diff --git a/fs/nfsd/nfs4recover.c b/fs/nfsd/nfs4recover.c
index c714602..4c86b18 100644
--- a/fs/nfsd/nfs4recover.c
+++ b/fs/nfsd/nfs4recover.c
@@ -693,7 +693,7 @@ cld_pipe_downcall(struct file *filp, const char __user 
*src, size_t mlen)
        struct cld_upcall *tmp, *cup;
        struct cld_msg __user *cmsg = (struct cld_msg __user *)src;
        uint32_t xid;
-       struct nfsd_net *nn = net_generic(filp->f_dentry->d_sb->s_ns,
+       struct nfsd_net *nn = net_generic(filp->f_dentry->d_sb->s_fs_info,
                                                nfsd_net_id);
        struct cld_net *cn = nn->cld_net;
 
@@ -1353,7 +1353,7 @@ static int
 rpc_pipefs_event(struct notifier_block *nb, unsigned long event, void *ptr)
 {
        struct super_block *sb = ptr;
-       struct net *net = sb->s_ns;
+       struct net *net = sb->s_fs_info;
        struct nfsd_net *nn = net_generic(net, nfsd_net_id);
        struct cld_net *cn = nn->cld_net;
        struct dentry *dentry;
diff --git a/fs/super.c b/fs/super.c
index c9b47bf..341650d 100644
--- a/fs/super.c
+++ b/fs/super.c
@@ -880,12 +880,12 @@ EXPORT_SYMBOL(kill_litter_super);
 
 static int ns_test_super(struct super_block *sb, void *data)
 {
-       return sb->s_ns == data;
+       return sb->s_fs_info == data;
 }
 
 static int ns_set_super(struct super_block *sb, void *data)
 {
-       sb->s_ns = data;
+       sb->s_fs_info = data;
        return set_anon_super(sb, NULL);
 }
 
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 68cec28..553bca3 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1457,8 +1457,6 @@ struct super_block {
        unsigned int            s_max_links;
        fmode_t                 s_mode;
 
-       void                    *s_ns;          /* Pointer to namespace */
-
        /* Granularity of c/m/atime in ns.
           Cannot be worse than a second */
        u32                s_time_gran;
diff --git a/ipc/mqueue.c b/ipc/mqueue.c
index 18620cd..c508938 100644
--- a/ipc/mqueue.c
+++ b/ipc/mqueue.c
@@ -104,7 +104,7 @@ static inline struct mqueue_inode_info *MQUEUE_I(struct 
inode *inode)
  */
 static inline struct ipc_namespace *__get_ns_from_inode(struct inode *inode)
 {
-       return get_ipc_ns(inode->i_sb->s_ns);
+       return get_ipc_ns(inode->i_sb->s_fs_info);
 }
 
 static struct ipc_namespace *get_ns_from_inode(struct inode *inode)
@@ -407,7 +407,7 @@ static void mqueue_evict_inode(struct inode *inode)
                user->mq_bytes -= mq_bytes;
                /*
                 * get_ns_from_inode() ensures that the
-                * (ipc_ns = sb->s_ns) is either a valid ipc_ns
+                * (ipc_ns = sb->s_fs_info) is either a valid ipc_ns
                 * to which we now hold a reference, or it is NULL.
                 * We can't put it here under mq_lock, though.
                 */
@@ -1418,7 +1418,7 @@ int mq_init_ns(struct ipc_namespace *ns)
 
 void mq_clear_sbinfo(struct ipc_namespace *ns)
 {
-       ns->mq_mnt->mnt_sb->s_ns = NULL;
+       ns->mq_mnt->mnt_sb->s_fs_info = NULL;
 }
 
 void mq_put_mnt(struct ipc_namespace *ns)
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c
index 6a03cf0..488ddee 100644
--- a/net/sunrpc/clnt.c
+++ b/net/sunrpc/clnt.c
@@ -241,7 +241,7 @@ static int rpc_pipefs_event(struct notifier_block *nb, 
unsigned long event,
        struct rpc_clnt *clnt;
        int error = 0;
 
-       while ((clnt = rpc_get_client_for_event(sb->s_ns, event))) {
+       while ((clnt = rpc_get_client_for_event(sb->s_fs_info, event))) {
                error = __rpc_pipefs_event(clnt, event, sb);
                if (error)
                        break;
diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c
index 875f9c7..b8f6185 100644
--- a/net/sunrpc/rpc_pipe.c
+++ b/net/sunrpc/rpc_pipe.c
@@ -1428,7 +1428,7 @@ rpc_fill_super(struct super_block *sb, void *data, int 
silent)
                                           sb);
        if (err)
                goto err_depopulate;
-       sb->s_ns = get_net(net);
+       sb->s_fs_info = get_net(net);
        mutex_unlock(&sn->pipefs_sb_lock);
        return 0;
 
@@ -1462,7 +1462,7 @@ rpc_mount(struct file_system_type *fs_type,
 
 static void rpc_kill_sb(struct super_block *sb)
 {
-       struct net *net = sb->s_ns;
+       struct net *net = sb->s_fs_info;
        struct sunrpc_net *sn = net_generic(net, sunrpc_net_id);
 
        mutex_lock(&sn->pipefs_sb_lock);
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to