From 42839efb10324c02560ad627e35f572f7981219f Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Tue, 3 Sep 2024 08:18:31 +0200 Subject: [PATCH] mkfs-util: Add support for btrfs compression Corresponding PR in btrfs-progs: https://github.com/kdave/btrfs-progs/pull/882 --- man/repart.d.xml | 6 ++++++ src/shared/mkfs-util.c | 14 ++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/man/repart.d.xml b/man/repart.d.xml index 8e3d496ab2192..2f933efdae791 100644 --- a/man/repart.d.xml +++ b/man/repart.d.xml @@ -877,6 +877,12 @@ lz4, lz4hc, lzma, deflate, libdeflate, zstd mkfs.erofs1 + + + btrfs + zlib, lzo, zstd + mkfs.btrfs8 + diff --git a/src/shared/mkfs-util.c b/src/shared/mkfs-util.c index 87c7d52a97943..46fa685b0d60b 100644 --- a/src/shared/mkfs-util.c +++ b/src/shared/mkfs-util.c @@ -461,6 +461,20 @@ int make_filesystem( if (quiet && strv_extend(&argv, "-q") < 0) return log_oom(); + if (compression) { + _cleanup_free_ char *c = NULL; + + c = strdup(compression); + if (!c) + return log_oom(); + + if (compression_level && !strextend(&c, ":", compression_level)) + return log_oom(); + + if (strv_extend_many(&argv, "--compress", c) < 0) + return log_oom(); + } + /* mkfs.btrfs unconditionally warns about several settings changing from v5.15 onwards which * isn't silenced by "-q", so let's redirect stdout to /dev/null as well. */ if (quiet)