aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/ext4/super.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index 4c168b90903c..16a877a0f309 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -5404,6 +5404,13 @@ static int ext4_quota_on(struct super_block *sb, int type, int format_id,
5404 ext4_msg(sb, KERN_WARNING, 5404 ext4_msg(sb, KERN_WARNING,
5405 "Quota file not on filesystem root. " 5405 "Quota file not on filesystem root. "
5406 "Journaled quota will not work"); 5406 "Journaled quota will not work");
5407 sb_dqopt(sb)->flags |= DQUOT_NOLIST_DIRTY;
5408 } else {
5409 /*
5410 * Clear the flag just in case mount options changed since
5411 * last time.
5412 */
5413 sb_dqopt(sb)->flags &= ~DQUOT_NOLIST_DIRTY;
5407 } 5414 }
5408 5415
5409 /* 5416 /*
@@ -5500,7 +5507,7 @@ static int ext4_enable_quotas(struct super_block *sb)
5500 test_opt(sb, PRJQUOTA), 5507 test_opt(sb, PRJQUOTA),
5501 }; 5508 };
5502 5509
5503 sb_dqopt(sb)->flags |= DQUOT_QUOTA_SYS_FILE; 5510 sb_dqopt(sb)->flags |= DQUOT_QUOTA_SYS_FILE | DQUOT_NOLIST_DIRTY;
5504 for (type = 0; type < EXT4_MAXQUOTAS; type++) { 5511 for (type = 0; type < EXT4_MAXQUOTAS; type++) {
5505 if (qf_inums[type]) { 5512 if (qf_inums[type]) {
5506 err = ext4_quota_enable(sb, type, QFMT_VFS_V1, 5513 err = ext4_quota_enable(sb, type, QFMT_VFS_V1,