summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/flamegraph.py
diff options
context:
space:
mode:
authorQu Wenruo <wqu@suse.com>2025-12-18 15:15:28 +1030
committerDavid Sterba <dsterba@suse.com>2026-01-06 01:22:59 +0100
commit30bcf4e824aa37d305502f52e1527c7b1eabef3d (patch)
tree5926d9097bd54b2ee2b79dbc9ed978a183a7758a /tools/perf/scripts/python/flamegraph.py
parent8731f2c50b0b1d2b58ed5b9671ef2c4bdc2f8347 (diff)
downloadkernel-30bcf4e824aa37d305502f52e1527c7b1eabef3d.tar.gz
btrfs: only enforce free space tree if v1 cache is required for bs < ps cases
[BUG] Since the introduction of btrfs bs < ps support, v1 cache was never on the plan due to its hard coded PAGE_SIZE usage, and the future plan to properly deprecate it. However for bs < ps cases, even if 'nospace_cache,clear_cache' mount option is specified, it's never respected and free space tree is always enabled: mkfs.btrfs -f -O ^bgt,fst $dev mount $dev $mnt -o clear_cache,nospace_cache umount $mnt btrfs ins dump-super $dev ... compat_ro_flags 0x3 ( FREE_SPACE_TREE | FREE_SPACE_TREE_VALID ) ... This means a different behavior compared to bs >= ps cases. [CAUSE] The forcing usage of v2 space cache is done inside btrfs_set_free_space_cache_settings(), however it never checks if we're even using space cache but always enabling v2 cache. [FIX] Instead unconditionally enable v2 cache, only forcing v2 cache if the old v1 cache is required. Now v2 space cache can be properly disabled on bs < ps cases: mkfs.btrfs -f -O ^bgt,fst $dev mount $dev $mnt -o clear_cache,nospace_cache umount $mnt btrfs ins dump-super $dev ... compat_ro_flags 0x0 ... Fixes: 9f73f1aef98b ("btrfs: force v2 space cache usage for subpage mount") 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/flamegraph.py')
0 files changed, 0 insertions, 0 deletions
owlabel: Convert hash list to RCU.YOSHIFUJI Hideaki / 吉藤英明 2013-01-30ipv6 flowlabel: Ensure to take lock when modifying np->ip6_sk_fl_list.YOSHIFUJI Hideaki / 吉藤英明 2012-11-18net: Allow userns root to control ipv6Eric W. Biederman 2012-08-16ipv6: move dereference after check in fl_free()Dan Carpenter 2012-08-14net ip6 flowlabel: Make owner a union of struct pid * and kuid_tEric W. Biederman 2012-05-19ipv6: bool/const conversions phase2Eric Dumazet 2012-05-01ipv6: Export ipv6 functions for use by other protocolsChris Elston 2012-04-15net: cleanup unsigned to unsigned intEric Dumazet 2011-11-22net: remove ipv6_addr_copy()Alexey Dobriyan 2011-10-31net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modulesPaul Gortmaker 2011-08-30net: relax PKTINFO non local ipv6 udp xmit checkMaciej Żenczykowski