Commit 72ba7450 authored by Theodore Ts'o's avatar Theodore Ts'o

ext4: release sysfs kobject when failing to enable quotas on mount

In addition, print the error returned from ext4_enable_quotas()
Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: default avatarCarlos Maiolino <cmaiolino@redhat.com>
Cc: stable@vger.kernel.org
parent aaddea81
...@@ -4009,7 +4009,7 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent) ...@@ -4009,7 +4009,7 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent)
!(sb->s_flags & MS_RDONLY)) { !(sb->s_flags & MS_RDONLY)) {
err = ext4_enable_quotas(sb); err = ext4_enable_quotas(sb);
if (err) if (err)
goto failed_mount7; goto failed_mount8;
} }
#endif /* CONFIG_QUOTA */ #endif /* CONFIG_QUOTA */
...@@ -4036,6 +4036,10 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent) ...@@ -4036,6 +4036,10 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent)
ext4_msg(sb, KERN_ERR, "VFS: Can't find ext4 filesystem"); ext4_msg(sb, KERN_ERR, "VFS: Can't find ext4 filesystem");
goto failed_mount; goto failed_mount;
#ifdef CONFIG_QUOTA
failed_mount8:
kobject_del(&sbi->s_kobj);
#endif
failed_mount7: failed_mount7:
ext4_unregister_li_request(sb); ext4_unregister_li_request(sb);
failed_mount6: failed_mount6:
...@@ -5006,9 +5010,9 @@ static int ext4_enable_quotas(struct super_block *sb) ...@@ -5006,9 +5010,9 @@ static int ext4_enable_quotas(struct super_block *sb)
DQUOT_USAGE_ENABLED); DQUOT_USAGE_ENABLED);
if (err) { if (err) {
ext4_warning(sb, ext4_warning(sb,
"Failed to enable quota (type=%d) " "Failed to enable quota tracking "
"tracking. Please run e2fsck to fix.", "(type=%d, err=%d). Please run "
type); "e2fsck to fix.", type, err);
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