kill proc_ns completely
authorAl Viro <viro@zeniv.linux.org.uk>
Sat, 1 Nov 2014 15:10:28 +0000 (11:10 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Thu, 11 Dec 2014 02:30:57 +0000 (21:30 -0500)
procfs inodes need only the ns_ops part; nsfs inodes don't need it at all

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/proc/inode.c
fs/proc/internal.h
fs/proc/namespaces.c

index 57a9be9a66680db82b3f54e8055bf4f0d2c5c906..8420a2f80811821c046b7ce069416dd291ea6349 100644 (file)
@@ -66,8 +66,7 @@ static struct inode *proc_alloc_inode(struct super_block *sb)
        ei->pde = NULL;
        ei->sysctl = NULL;
        ei->sysctl_entry = NULL;
-       ei->ns.ns = NULL;
-       ei->ns.ns_ops = NULL;
+       ei->ns_ops = NULL;
        inode = &ei->vfs_inode;
        inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;
        return inode;
index 0fabc48d905f4b0f0900acd4428d7a5994bdc6ae..d689fd6960d54c9a695e457281b5ad7747428c3f 100644 (file)
@@ -57,11 +57,6 @@ union proc_op {
                struct task_struct *task);
 };
 
-struct proc_ns {
-       struct ns_common *ns;
-       const struct proc_ns_operations *ns_ops;
-};
-
 struct proc_inode {
        struct pid *pid;
        int fd;
@@ -69,7 +64,7 @@ struct proc_inode {
        struct proc_dir_entry *pde;
        struct ctl_table_header *sysctl;
        struct ctl_table *sysctl_entry;
-       struct proc_ns ns;
+       const struct proc_ns_operations *ns_ops;
        struct inode vfs_inode;
 };
 
index aaaac77abad0ae2f165f5bb0d8a0dd73b571e0ae..c9eac4563fa8ab497dfbc492d4d63f2c6105df9b 100644 (file)
@@ -33,7 +33,7 @@ static const struct proc_ns_operations *ns_entries[] = {
 static void *proc_ns_follow_link(struct dentry *dentry, struct nameidata *nd)
 {
        struct inode *inode = dentry->d_inode;
-       const struct proc_ns_operations *ns_ops = PROC_I(inode)->ns.ns_ops;
+       const struct proc_ns_operations *ns_ops = PROC_I(inode)->ns_ops;
        struct task_struct *task;
        struct path ns_path;
        void *error = ERR_PTR(-EACCES);
@@ -54,7 +54,7 @@ static void *proc_ns_follow_link(struct dentry *dentry, struct nameidata *nd)
 static int proc_ns_readlink(struct dentry *dentry, char __user *buffer, int buflen)
 {
        struct inode *inode = dentry->d_inode;
-       const struct proc_ns_operations *ns_ops = PROC_I(inode)->ns.ns_ops;
+       const struct proc_ns_operations *ns_ops = PROC_I(inode)->ns_ops;
        struct task_struct *task;
        char name[50];
        int res = -EACCES;
@@ -92,7 +92,7 @@ static int proc_ns_instantiate(struct inode *dir,
        ei = PROC_I(inode);
        inode->i_mode = S_IFLNK|S_IRWXUGO;
        inode->i_op = &proc_ns_link_inode_operations;
-       ei->ns.ns_ops = ns_ops;
+       ei->ns_ops = ns_ops;
 
        d_set_d_op(dentry, &pid_dentry_operations);
        d_add(dentry, inode);
This page took 0.053727 seconds and 5 git commands to generate.