|
@@ -2442,7 +2442,7 @@ static void ext4_orphan_cleanup(struct super_block *sb,
|
|
|
#ifdef CONFIG_QUOTA
|
|
|
/* Needed for iput() to work correctly and not trash data */
|
|
|
sb->s_flags |= MS_ACTIVE;
|
|
|
- /* Turn on quotas so that they are updated correctly */
|
|
|
+ /* Turn on journaled quotas so that they are updated correctly */
|
|
|
for (i = 0; i < EXT4_MAXQUOTAS; i++) {
|
|
|
if (EXT4_SB(sb)->s_qf_names[i]) {
|
|
|
int ret = ext4_quota_on_mount(sb, i);
|
|
@@ -2510,9 +2510,9 @@ static void ext4_orphan_cleanup(struct super_block *sb,
|
|
|
ext4_msg(sb, KERN_INFO, "%d truncate%s cleaned up",
|
|
|
PLURAL(nr_truncates));
|
|
|
#ifdef CONFIG_QUOTA
|
|
|
- /* Turn quotas off */
|
|
|
+ /* Turn off journaled quotas if they were enabled for orphan cleanup */
|
|
|
for (i = 0; i < EXT4_MAXQUOTAS; i++) {
|
|
|
- if (sb_dqopt(sb)->files[i])
|
|
|
+ if (EXT4_SB(sb)->s_qf_names[i] && sb_dqopt(sb)->files[i])
|
|
|
dquot_quota_off(sb, i);
|
|
|
}
|
|
|
#endif
|