sysfs: Make sysfs_mount static
authorEric W. Biederman <ebiederm@xmission.com>
Mon, 20 Aug 2007 12:36:30 +0000 (21:36 +0900)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 12 Oct 2007 21:51:07 +0000 (14:51 -0700)
This patch modifies the users of sysfs_mount to use sysfs_root
instead (which is what they are looking for).  It then
makes sysfs_mount static to keep people from using it
by accident.

The net result is slightly faster and cleaner code.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/sysfs/dir.c
fs/sysfs/mount.c
fs/sysfs/symlink.c
fs/sysfs/sysfs.h

index 739dda1..7f4abe1 100644 (file)
@@ -737,10 +737,8 @@ int sysfs_create_dir(struct kobject * kobj)
 
        if (kobj->parent)
                parent_sd = kobj->parent->sd;
-       else if (sysfs_mount && sysfs_mount->mnt_sb)
-               parent_sd = sysfs_mount->mnt_sb->s_root->d_fsdata;
        else
-               return -EFAULT;
+               parent_sd = &sysfs_root;
 
        error = create_dir(kobj, parent_sd, kobject_name(kobj), &sd);
        if (!error)
index ac76256..8989cbb 100644 (file)
@@ -14,7 +14,7 @@
 /* Random magic number */
 #define SYSFS_MAGIC 0x62656572
 
-struct vfsmount *sysfs_mount;
+static struct vfsmount *sysfs_mount;
 struct super_block * sysfs_sb = NULL;
 struct kmem_cache *sysfs_dir_cachep;
 
index a6b13f1..8ad38bc 100644 (file)
@@ -60,10 +60,9 @@ int sysfs_create_link(struct kobject * kobj, struct kobject * target, const char
 
        BUG_ON(!name);
 
-       if (!kobj) {
-               if (sysfs_mount && sysfs_mount->mnt_sb)
-                       parent_sd = sysfs_mount->mnt_sb->s_root->d_fsdata;
-       } else
+       if (!kobj)
+               parent_sd = &sysfs_root;
+       else
                parent_sd = kobj->sd;
 
        error = -EFAULT;
index 8a0aea1..77253aa 100644 (file)
@@ -51,7 +51,6 @@ struct sysfs_addrm_cxt {
        int                     cnt;
 };
 
-extern struct vfsmount * sysfs_mount;
 extern struct sysfs_dirent sysfs_root;
 extern struct kmem_cache *sysfs_dir_cachep;