diff options
| author | Johannes Thumshirn <johannes.thumshirn@wdc.com> | 2026-07-03 07:54:45 +0200 |
|---|---|---|
| committer | David Sterba <dsterba@suse.com> | 2026-07-21 06:40:07 +0200 |
| commit | 5fabb1cf25d723274009d7b759545fd59f230c9d (patch) | |
| tree | 8be087d2a5afdecd1d1337c5144f52133f574c7e /tools/perf/scripts/python/export-to-sqlite.py | |
| parent | 1ebe51c29fa9755d5b2fea28727c051117907cf8 (diff) | |
btrfs: zoned: reset meta_write_pointer on zone reset
btrfs_reset_unused_block_groups() resets a block group's zone and sets
alloc_offset back to 0 so the space can be reused, but it leaves
meta_write_pointer pointing at the previous end of the zone.
Once the block group is reactivated and reused for metadata, newly
allocated tree blocks live before that stale write pointer.
btrfs_check_meta_write_pointer() then sees them behind the write pointer,
so they can never be written out in sequential order: the dirty extent
buffers are stranded and pin their btree_inode folios until unmount.
Reset meta_write_pointer back to the start of the block group for
metadata and system block groups.
Fixes: 453a73c3069a ("btrfs: zoned: reclaim unused zone by zone resetting")
Reviewed-by: Naohiro Aota <naohiro.aota@wdc.com>
Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'tools/perf/scripts/python/export-to-sqlite.py')
0 files changed, 0 insertions, 0 deletions
