Commit 5cc361e3 authored by Al Viro's avatar Al Viro

ubifs: too early register_filesystem()

doing that before you are ready to handle mount() is a Bad Idea(tm)...
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 6f686574
...@@ -2264,19 +2264,12 @@ static int __init ubifs_init(void) ...@@ -2264,19 +2264,12 @@ static int __init ubifs_init(void)
return -EINVAL; return -EINVAL;
} }
err = register_filesystem(&ubifs_fs_type);
if (err) {
ubifs_err("cannot register file system, error %d", err);
return err;
}
err = -ENOMEM;
ubifs_inode_slab = kmem_cache_create("ubifs_inode_slab", ubifs_inode_slab = kmem_cache_create("ubifs_inode_slab",
sizeof(struct ubifs_inode), 0, sizeof(struct ubifs_inode), 0,
SLAB_MEM_SPREAD | SLAB_RECLAIM_ACCOUNT, SLAB_MEM_SPREAD | SLAB_RECLAIM_ACCOUNT,
&inode_slab_ctor); &inode_slab_ctor);
if (!ubifs_inode_slab) if (!ubifs_inode_slab)
goto out_reg; return -ENOMEM;
register_shrinker(&ubifs_shrinker_info); register_shrinker(&ubifs_shrinker_info);
...@@ -2288,15 +2281,20 @@ static int __init ubifs_init(void) ...@@ -2288,15 +2281,20 @@ static int __init ubifs_init(void)
if (err) if (err)
goto out_compr; goto out_compr;
err = register_filesystem(&ubifs_fs_type);
if (err) {
ubifs_err("cannot register file system, error %d", err);
goto out_dbg;
}
return 0; return 0;
out_dbg:
dbg_debugfs_exit();
out_compr: out_compr:
ubifs_compressors_exit(); ubifs_compressors_exit();
out_shrinker: out_shrinker:
unregister_shrinker(&ubifs_shrinker_info); unregister_shrinker(&ubifs_shrinker_info);
kmem_cache_destroy(ubifs_inode_slab); kmem_cache_destroy(ubifs_inode_slab);
out_reg:
unregister_filesystem(&ubifs_fs_type);
return err; return err;
} }
/* late_initcall to let compressors initialize first */ /* late_initcall to let compressors initialize first */
......
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