]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - fs/ext4/super.c
ext4: fix up ext4 error handling
[mv-sheeva.git] / fs / ext4 / super.c
index 4898cb1ff606e92ee583bcc4b5d0b2a6192bdead..86b05486dc631af4292ff2d70a0051bd692a131b 100644 (file)
@@ -4810,13 +4810,17 @@ static int __init ext4_init_fs(void)
                return err;
        err = ext4_init_system_zone();
        if (err)
-               goto out5;
+               goto out7;
        ext4_kset = kset_create_and_add("ext4", NULL, fs_kobj);
        if (!ext4_kset)
-               goto out4;
+               goto out6;
        ext4_proc_root = proc_mkdir("fs/ext4", NULL);
+       if (!ext4_proc_root)
+               goto out5;
 
        err = ext4_init_feat_adverts();
+       if (err)
+               goto out4;
 
        err = ext4_init_mballoc();
        if (err)
@@ -4847,11 +4851,13 @@ out2:
        ext4_exit_mballoc();
 out3:
        ext4_exit_feat_adverts();
+out4:
        remove_proc_entry("fs/ext4", NULL);
+out5:
        kset_unregister(ext4_kset);
-out4:
+out6:
        ext4_exit_system_zone();
-out5:
+out7:
        ext4_exit_pageio();
        return err;
 }