Commit 9a2fd7ec authored by Patrick Mochel's avatar Patrick Mochel

sysfs: initialize from fs/namespace.c::mnt_init().

This ensures that sysfs is initialized very early, before anything can 
possibily registered with it. 

It happens early enough that all filesystems can registered with sysfs 
(besides sysfs itself), which is coming next.
parent fa0aa7cc
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
extern struct vfsmount *do_kern_mount(const char *type, int flags, char *name, void *data); extern struct vfsmount *do_kern_mount(const char *type, int flags, char *name, void *data);
extern int do_remount_sb(struct super_block *sb, int flags, void * data); extern int do_remount_sb(struct super_block *sb, int flags, void * data);
extern int __init init_rootfs(void); extern int __init init_rootfs(void);
extern int __init sysfs_init(void);
static struct list_head *mount_hashtable; static struct list_head *mount_hashtable;
static int hash_mask, hash_bits; static int hash_mask, hash_bits;
...@@ -1132,6 +1133,7 @@ void __init mnt_init(unsigned long mempages) ...@@ -1132,6 +1133,7 @@ void __init mnt_init(unsigned long mempages)
d++; d++;
i--; i--;
} while (i); } while (i);
sysfs_init();
init_rootfs(); init_rootfs();
init_mount_tree(); init_mount_tree();
} }
...@@ -65,7 +65,7 @@ static struct file_system_type sysfs_fs_type = { ...@@ -65,7 +65,7 @@ static struct file_system_type sysfs_fs_type = {
.kill_sb = kill_litter_super, .kill_sb = kill_litter_super,
}; };
static int __init sysfs_init(void) int __init sysfs_init(void)
{ {
int err; int err;
...@@ -80,5 +80,3 @@ static int __init sysfs_init(void) ...@@ -80,5 +80,3 @@ static int __init sysfs_init(void)
} }
return err; return err;
} }
core_initcall(sysfs_init);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment