mirror of
https://github.com/kdave/btrfs-progs
synced 2025-04-11 03:31:17 +00:00
Add a runtime feature (-R) flag for the free space tree. A filesystem that is mkfs'd with -R free-space-tree then mounted with no options has the same contents as one mkfs'd without the option, then mounted with '-o space_cache=v2'. The only tricky thing is in exactly how to call the tree creation code. Using btrfs_create_free_space_tree as is did not quite work, because an extra reference to the eb (root->commit_root) is leaked, which mkfs complains about with a warning. I opted to follow how the uuid tree is created by adding it to the dirty roots list for cleanup by commit_tree_roots in commit_transaction. As a result, btrfs_create_free_space_tree no longer exactly matches the version in the kernel sources. Reviewed-by: Josef Bacik <josef@toxicpanda.com> Signed-off-by: Boris Burkov <boris@bur.io> Signed-off-by: David Sterba <dsterba@suse.com> |
||
---|---|---|
.. | ||
001-basic-profiles | ||
002-no-force-mixed-on-small-volume | ||
003-mixed-with-wrong-nodesize | ||
004-rootdir-keeps-size | ||
005-long-device-name-for-ssd | ||
006-partitioned-loopdev | ||
007-mix-nodesize-sectorsize | ||
008-sectorsize-nodesize-combination | ||
009-special-files-for-rootdir | ||
010-minimal-size | ||
011-rootdir-create-file | ||
012-rootdir-no-shrink | ||
013-reserved-1M-for-single | ||
014-rootdir-inline-extent | ||
015-fstree-uuid-otime | ||
016-rootdir-bad-symbolic-link | ||
017-small-backing-size-thin-provision-device | ||
018-multidevice-overflow | ||
019-basic-checksums-mkfs | ||
020-basic-checksums-mount | ||
021-rfeatures-quota-rootdir | ||
022-rootdir-size | ||
023-free-space-tree |