diff options
| -rw-r--r-- | fs/ext4/super.c | 9 |
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, |
