diff options
author | Filipe Manana <fdmanana@suse.com> | 2025-07-01 11:39:44 +0100 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2025-07-22 00:07:08 +0200 |
commit | e41c75ca3189341e76e6af64b857c05b68a1d7db (patch) | |
tree | 6f80a3bacb7258562e31874473a1eb890f198c06 /fs/btrfs/tree-log.c | |
parent | 736bd9d2e35866a07f32d9884019e0431b0b50d8 (diff) |
btrfs: qgroup: set quota enabled bit if quota disable fails flushing reservations
Before waiting for the rescan worker to finish and flushing reservations,
we clear the BTRFS_FS_QUOTA_ENABLED flag from fs_info. If we fail flushing
reservations we leave with the flag not set which is not correct since
quotas are still enabled - we must set back the flag on error paths, such
as when we fail to start a transaction, except for error paths that abort
a transaction. The reservation flushing happens very early before we do
any operation that actually disables quotas and before we start a
transaction, so set back BTRFS_FS_QUOTA_ENABLED if it fails.
Fixes: af0e2aab3b70 ("btrfs: qgroup: flush reservations during quota disable")
CC: stable@vger.kernel.org # 6.12+
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/tree-log.c')
0 files changed, 0 insertions, 0 deletions