diff options
author | Theodore Ts'o <tytso@mit.edu> | 2013-01-24 23:24:54 -0500 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2013-01-24 23:24:54 -0500 |
commit | 72ba74508b2857e71d65fc93f0d6b684492fc740 (patch) | |
tree | 98fe6b50a7454f8804265e25b48e95d873cacfb4 /fs/ext4/super.c | |
parent | aaddea812cb0a2dc38b55ba557b68999bc2f6203 (diff) |
ext4: release sysfs kobject when failing to enable quotas on mount
In addition, print the error returned from ext4_enable_quotas()
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
Cc: stable@vger.kernel.org
Diffstat (limited to 'fs/ext4/super.c')
-rw-r--r-- | fs/ext4/super.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/fs/ext4/super.c b/fs/ext4/super.c index c014edd12648..3ac306064b28 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c | |||
@@ -4009,7 +4009,7 @@ no_journal: | |||
4009 | !(sb->s_flags & MS_RDONLY)) { | 4009 | !(sb->s_flags & MS_RDONLY)) { |
4010 | err = ext4_enable_quotas(sb); | 4010 | err = ext4_enable_quotas(sb); |
4011 | if (err) | 4011 | if (err) |
4012 | goto failed_mount7; | 4012 | goto failed_mount8; |
4013 | } | 4013 | } |
4014 | #endif /* CONFIG_QUOTA */ | 4014 | #endif /* CONFIG_QUOTA */ |
4015 | 4015 | ||
@@ -4036,6 +4036,10 @@ cantfind_ext4: | |||
4036 | ext4_msg(sb, KERN_ERR, "VFS: Can't find ext4 filesystem"); | 4036 | ext4_msg(sb, KERN_ERR, "VFS: Can't find ext4 filesystem"); |
4037 | goto failed_mount; | 4037 | goto failed_mount; |
4038 | 4038 | ||
4039 | #ifdef CONFIG_QUOTA | ||
4040 | failed_mount8: | ||
4041 | kobject_del(&sbi->s_kobj); | ||
4042 | #endif | ||
4039 | failed_mount7: | 4043 | failed_mount7: |
4040 | ext4_unregister_li_request(sb); | 4044 | ext4_unregister_li_request(sb); |
4041 | failed_mount6: | 4045 | failed_mount6: |
@@ -5006,9 +5010,9 @@ static int ext4_enable_quotas(struct super_block *sb) | |||
5006 | DQUOT_USAGE_ENABLED); | 5010 | DQUOT_USAGE_ENABLED); |
5007 | if (err) { | 5011 | if (err) { |
5008 | ext4_warning(sb, | 5012 | ext4_warning(sb, |
5009 | "Failed to enable quota (type=%d) " | 5013 | "Failed to enable quota tracking " |
5010 | "tracking. Please run e2fsck to fix.", | 5014 | "(type=%d, err=%d). Please run " |
5011 | type); | 5015 | "e2fsck to fix.", type, err); |
5012 | return err; | 5016 | return err; |
5013 | } | 5017 | } |
5014 | } | 5018 | } |