Commit dd68314c authored by Theodore Ts'o's avatar Theodore Ts'o

ext4: fix up ext4 error handling

Make sure we the correct cleanup happens if we die while trying to
load the ext4 file system.
Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
parent 8f021222
...@@ -4810,13 +4810,17 @@ static int __init ext4_init_fs(void) ...@@ -4810,13 +4810,17 @@ static int __init ext4_init_fs(void)
return err; return err;
err = ext4_init_system_zone(); err = ext4_init_system_zone();
if (err) if (err)
goto out5; goto out7;
ext4_kset = kset_create_and_add("ext4", NULL, fs_kobj); ext4_kset = kset_create_and_add("ext4", NULL, fs_kobj);
if (!ext4_kset) if (!ext4_kset)
goto out4; goto out6;
ext4_proc_root = proc_mkdir("fs/ext4", NULL); ext4_proc_root = proc_mkdir("fs/ext4", NULL);
if (!ext4_proc_root)
goto out5;
err = ext4_init_feat_adverts(); err = ext4_init_feat_adverts();
if (err)
goto out4;
err = ext4_init_mballoc(); err = ext4_init_mballoc();
if (err) if (err)
...@@ -4847,11 +4851,13 @@ static int __init ext4_init_fs(void) ...@@ -4847,11 +4851,13 @@ static int __init ext4_init_fs(void)
ext4_exit_mballoc(); ext4_exit_mballoc();
out3: out3:
ext4_exit_feat_adverts(); ext4_exit_feat_adverts();
out4:
remove_proc_entry("fs/ext4", NULL); remove_proc_entry("fs/ext4", NULL);
out5:
kset_unregister(ext4_kset); kset_unregister(ext4_kset);
out4: out6:
ext4_exit_system_zone(); ext4_exit_system_zone();
out5: out7:
ext4_exit_pageio(); ext4_exit_pageio();
return err; return err;
} }
......
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