diff options
author | Theodore Ts'o <tytso@mit.edu> | 2013-01-24 23:24:54 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-03-04 06:03:37 +0800 |
commit | bcd7f174b550763c3d632a602b1c039e5afd53c6 (patch) | |
tree | ff76683ef3db345da899aa417a66d2cc1f0c6ff5 | |
parent | 70d31ea833f3ac9f3cbdf3b819ef25b6cbbeb8be (diff) |
ext4: release sysfs kobject when failing to enable quotas on mount
commit 72ba74508b2857e71d65fc93f0d6b684492fc740 upstream.
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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-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 3d4fb81bacd..0465f36add7 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -4008,7 +4008,7 @@ no_journal: !(sb->s_flags & MS_RDONLY)) { err = ext4_enable_quotas(sb); if (err) - goto failed_mount7; + goto failed_mount8; } #endif /* CONFIG_QUOTA */ @@ -4035,6 +4035,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: @@ -5005,9 +5009,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; } } |