The first problem that is addressed is that the addition of init_ext4_proc()
means that the code doesn't clean up after itself on a failure of
init_ext4_xattr(), and the second is that usually init_*_proc() should be
the last thing called, so we move it to the end and add the cleanup call to
exit_ext4_proc().

Signed-off-by: Mark Nelson <[EMAIL PROTECTED]>
---
 fs/ext4/super.c |    9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

Index: ext4/fs/ext4/super.c
===================================================================
--- ext4.orig/fs/ext4/super.c
+++ ext4/fs/ext4/super.c
@@ -2999,10 +2999,6 @@ static int __init init_ext4_fs(void)
 {
        int err;
 
-       err = init_ext4_proc();
-       if (err)
-               return err;
-
        err = init_ext4_xattr();
        if (err)
                return err;
@@ -3012,7 +3008,12 @@ static int __init init_ext4_fs(void)
        err = register_filesystem(&ext4dev_fs_type);
        if (err)
                goto out;
+       err = init_ext4_proc();
+       if (err)
+               goto out_proc;
        return 0;
+out_proc:
+       exit_ext4_proc();
 out:
        destroy_inodecache();
 out1:

-- 
-
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to