ext4: enable quotas before orphan cleanup
When using quota feature we need to enable quotas before orphan cleanup so that changes happening during it are properly reflected in quota accounting. Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
This commit is contained in:
parent
262b4662f4
commit
9b2ff35753
|
@ -3933,6 +3933,16 @@ no_journal:
|
||||||
if (err)
|
if (err)
|
||||||
goto failed_mount7;
|
goto failed_mount7;
|
||||||
|
|
||||||
|
#ifdef CONFIG_QUOTA
|
||||||
|
/* Enable quota usage during mount. */
|
||||||
|
if (EXT4_HAS_RO_COMPAT_FEATURE(sb, EXT4_FEATURE_RO_COMPAT_QUOTA) &&
|
||||||
|
!(sb->s_flags & MS_RDONLY)) {
|
||||||
|
err = ext4_enable_quotas(sb);
|
||||||
|
if (err)
|
||||||
|
goto failed_mount8;
|
||||||
|
}
|
||||||
|
#endif /* CONFIG_QUOTA */
|
||||||
|
|
||||||
EXT4_SB(sb)->s_mount_state |= EXT4_ORPHAN_FS;
|
EXT4_SB(sb)->s_mount_state |= EXT4_ORPHAN_FS;
|
||||||
ext4_orphan_cleanup(sb, es);
|
ext4_orphan_cleanup(sb, es);
|
||||||
EXT4_SB(sb)->s_mount_state &= ~EXT4_ORPHAN_FS;
|
EXT4_SB(sb)->s_mount_state &= ~EXT4_ORPHAN_FS;
|
||||||
|
@ -3950,16 +3960,6 @@ no_journal:
|
||||||
} else
|
} else
|
||||||
descr = "out journal";
|
descr = "out journal";
|
||||||
|
|
||||||
#ifdef CONFIG_QUOTA
|
|
||||||
/* Enable quota usage during mount. */
|
|
||||||
if (EXT4_HAS_RO_COMPAT_FEATURE(sb, EXT4_FEATURE_RO_COMPAT_QUOTA) &&
|
|
||||||
!(sb->s_flags & MS_RDONLY)) {
|
|
||||||
err = ext4_enable_quotas(sb);
|
|
||||||
if (err)
|
|
||||||
goto failed_mount8;
|
|
||||||
}
|
|
||||||
#endif /* CONFIG_QUOTA */
|
|
||||||
|
|
||||||
if (test_opt(sb, DISCARD)) {
|
if (test_opt(sb, DISCARD)) {
|
||||||
struct request_queue *q = bdev_get_queue(sb->s_bdev);
|
struct request_queue *q = bdev_get_queue(sb->s_bdev);
|
||||||
if (!blk_queue_discard(q))
|
if (!blk_queue_discard(q))
|
||||||
|
|
Loading…
Reference in New Issue