Signed-off-by: Andrew Morton --- fs/ecryptfs/main.c | 2 +- fs/fuse/inode.c | 2 +- fs/gfs2/sys.c | 2 +- fs/namespace.c | 11 +++++------ include/linux/fs.h | 2 +- 5 files changed, 9 insertions(+), 10 deletions(-) diff -puN fs/ecryptfs/main.c~gregkh-driver-kobject-convert-main-fs-kobject-to-use-kobject_create fs/ecryptfs/main.c --- a/fs/ecryptfs/main.c~gregkh-driver-kobject-convert-main-fs-kobject-to-use-kobject_create +++ a/fs/ecryptfs/main.c @@ -798,7 +798,7 @@ static int do_sysfs_registration(void) { int rc; - ecryptfs_kset = kset_create_and_add("ecryptfs", NULL, &fs_subsys.kobj); + ecryptfs_kset = kset_create_and_add("ecryptfs", NULL, fs_kobj); if (!ecryptfs_kset) { printk(KERN_ERR "Unable to create ecryptfs kset\n"); rc = -ENOMEM; diff -puN fs/fuse/inode.c~gregkh-driver-kobject-convert-main-fs-kobject-to-use-kobject_create fs/fuse/inode.c --- a/fs/fuse/inode.c~gregkh-driver-kobject-convert-main-fs-kobject-to-use-kobject_create +++ a/fs/fuse/inode.c @@ -795,7 +795,7 @@ static int fuse_sysfs_init(void) { int err; - fuse_kobj = kobject_create_and_add("fuse", &fs_subsys.kobj); + fuse_kobj = kobject_create_and_add("fuse", fs_kobj); if (!fuse_kobj) { err = -ENOMEM; goto out_err; diff -puN fs/gfs2/sys.c~gregkh-driver-kobject-convert-main-fs-kobject-to-use-kobject_create fs/gfs2/sys.c --- a/fs/gfs2/sys.c~gregkh-driver-kobject-convert-main-fs-kobject-to-use-kobject_create +++ a/fs/gfs2/sys.c @@ -549,7 +549,7 @@ int gfs2_sys_init(void) gfs2_sys_margs = NULL; spin_lock_init(&gfs2_sys_margs_lock); kobject_set_name(&gfs2_kset.kobj, "gfs2"); - gfs2_kset.kobj.kset = &fs_subsys; + gfs2_kset.kobj.parent = fs_kobj; return kset_register(&gfs2_kset); } diff -puN fs/namespace.c~gregkh-driver-kobject-convert-main-fs-kobject-to-use-kobject_create fs/namespace.c --- a/fs/namespace.c~gregkh-driver-kobject-convert-main-fs-kobject-to-use-kobject_create +++ a/fs/namespace.c @@ -41,8 +41,8 @@ static struct kmem_cache *mnt_cache __re static struct rw_semaphore namespace_sem; /* /sys/fs */ -decl_subsys(fs, NULL); -EXPORT_SYMBOL_GPL(fs_subsys); +struct kobject *fs_kobj; +EXPORT_SYMBOL_GPL(fs_kobj); static inline unsigned long hash(struct vfsmount *mnt, struct dentry *dentry) { @@ -1861,10 +1861,9 @@ void __init mnt_init(void) if (err) printk(KERN_WARNING "%s: sysfs_init error: %d\n", __FUNCTION__, err); - err = subsystem_register(&fs_subsys); - if (err) - printk(KERN_WARNING "%s: subsystem_register error: %d\n", - __FUNCTION__, err); + fs_kobj = kobject_create_and_add("fs", NULL); + if (!fs_kobj) + printk(KERN_WARNING "%s: kobj create error\n", __FUNCTION__); init_rootfs(); init_mount_tree(); } diff -puN include/linux/fs.h~gregkh-driver-kobject-convert-main-fs-kobject-to-use-kobject_create include/linux/fs.h --- a/include/linux/fs.h~gregkh-driver-kobject-convert-main-fs-kobject-to-use-kobject_create +++ a/include/linux/fs.h @@ -1476,7 +1476,7 @@ extern void drop_collected_mounts(struct extern int vfs_statfs(struct dentry *, struct kstatfs *); /* /sys/fs */ -extern struct kset fs_subsys; +extern struct kobject *fs_kobj; #define FLOCK_VERIFY_READ 1 #define FLOCK_VERIFY_WRITE 2 _