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
This commit is contained in:
Theodore Ts'o 2013-01-24 23:24:54 -05:00
parent aaddea812c
commit 72ba74508b
1 changed files with 8 additions and 4 deletions

View File

@ -4009,7 +4009,7 @@ no_journal:
!(sb->s_flags & MS_RDONLY)) {
err = ext4_enable_quotas(sb);
if (err)
goto failed_mount7;
goto failed_mount8;
}
#endif /* CONFIG_QUOTA */
@ -4036,6 +4036,10 @@ cantfind_ext4:
ext4_msg(sb, KERN_ERR, "VFS: Can't find ext4 filesystem");
goto failed_mount;
#ifdef CONFIG_QUOTA
failed_mount8:
kobject_del(&sbi->s_kobj);
#endif
failed_mount7:
ext4_unregister_li_request(sb);
failed_mount6:
@ -5006,9 +5010,9 @@ static int ext4_enable_quotas(struct super_block *sb)
DQUOT_USAGE_ENABLED);
if (err) {
ext4_warning(sb,
"Failed to enable quota (type=%d) "
"tracking. Please run e2fsck to fix.",
type);
"Failed to enable quota tracking "
"(type=%d, err=%d). Please run "
"e2fsck to fix.", type, err);
return err;
}
}