diff --git a/Documentation/mkfs.btrfs.asciidoc b/Documentation/mkfs.btrfs.asciidoc index 0380e82f..b3fef735 100644 --- a/Documentation/mkfs.btrfs.asciidoc +++ b/Documentation/mkfs.btrfs.asciidoc @@ -269,7 +269,7 @@ Enable quota support (qgroups). The qgroup accounting will be consistent, can be used together with '--rootdir'. See also `btrfs-quota`(8). *free-space-tree*:: -(kernel support since 4.5) +(default since btrfs-progs 5.15, kernel support since 4.5) + Enable the free space tree (mount option space_cache=v2) for persisting the free space cache. diff --git a/common/fsfeatures.c b/common/fsfeatures.c index e48d8892..df1bb8f7 100644 --- a/common/fsfeatures.c +++ b/common/fsfeatures.c @@ -159,7 +159,7 @@ static const struct btrfs_feature runtime_features[] = { .sysfs_name = "free_space_tree", VERSION_TO_STRING2(compat, 4,5), VERSION_TO_STRING2(safe, 4,9), - VERSION_NULL(default), + VERSION_TO_STRING2(default, 5,15), .desc = "free space tree (space_cache=v2)" }, /* Keep this one last */ diff --git a/common/fsfeatures.h b/common/fsfeatures.h index ec452bc3..163588e5 100644 --- a/common/fsfeatures.h +++ b/common/fsfeatures.h @@ -25,6 +25,9 @@ | BTRFS_FEATURE_INCOMPAT_NO_HOLES \ | BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA) +#define BTRFS_MKFS_DEFAULT_RUNTIME_FEATURES \ + (BTRFS_RUNTIME_FEATURE_FREE_SPACE_TREE) + /* * Avoid multi-device features (RAID56), mixed block groups, and zoned mode */ diff --git a/mkfs/main.c b/mkfs/main.c index 18a8507c..144316c5 100644 --- a/mkfs/main.c +++ b/mkfs/main.c @@ -903,7 +903,7 @@ int BOX_MAIN(mkfs)(int argc, char **argv) int saved_optind; char fs_uuid[BTRFS_UUID_UNPARSED_SIZE] = { 0 }; u64 features = BTRFS_MKFS_DEFAULT_FEATURES; - u64 runtime_features = 0; + u64 runtime_features = BTRFS_MKFS_DEFAULT_RUNTIME_FEATURES; struct mkfs_allocation allocation = { 0 }; struct btrfs_mkfs_config mkfs_cfg; enum btrfs_csum_type csum_type = BTRFS_CSUM_TYPE_CRC32;