summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/task-analyzer.py
diff options
context:
space:
mode:
authorQu Wenruo <wqu@suse.com>2024-04-03 03:00:06 +0300
committerDavid Sterba <dsterba@suse.com>2024-05-07 22:31:08 +0300
commite98bf64f7aaca09d5e6780f60ca79fda3003aecb (patch)
tree2dfb4e5505aa7ba8dc7ab00f40e3013858902fa0 /tools/perf/scripts/python/task-analyzer.py
parent4bdc558bf906ce4e3e33cb33a9368383a22e2151 (diff)
downloadlinux-e98bf64f7aaca09d5e6780f60ca79fda3003aecb.tar.xz
btrfs: add extra sanity checks for create_io_em()
The function create_io_em() is called before we submit an IO, to update the in-memory extent map for the involved range. This patch changes the following aspects: - Does not allow BTRFS_ORDERED_NOCOW type For real NOCOW (excluding NOCOW writes into preallocated ranges) writes, we never call create_io_em(), as we does not need to update the extent map at all. So remove the sanity check allowing BTRFS_ORDERED_NOCOW type. - Add extra sanity checks * PREALLOC - @block_len == len For uncompressed writes. * REGULAR - @block_len == @orig_block_len == @ram_bytes == @len We're creating a new uncompressed extent, and referring all of it. - @orig_start == @start We haven no offset inside the extent. * COMPRESSED - valid @compress_type - @len <= @ram_bytes This is to co-operate with encoded writes, which can cause a new file extent referring only part of a uncompressed extent. Reviewed-by: Filipe Manana <fdmanana@suse.com> Signed-off-by: Qu Wenruo <wqu@suse.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'tools/perf/scripts/python/task-analyzer.py')
0 files changed, 0 insertions, 0 deletions