From: Daan De Meyer Date: Tue, 3 Sep 2024 06:18:31 +0000 (+0200) Subject: mkfs-util: Add support for btrfs compression X-Git-Tag: v258-rc1~1323 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=42839efb10324c02560ad627e35f572f7981219f;p=thirdparty%2Fsystemd.git mkfs-util: Add support for btrfs compression Corresponding PR in btrfs-progs: https://github.com/kdave/btrfs-progs/pull/882 --- diff --git a/man/repart.d.xml b/man/repart.d.xml index 8e3d496ab21..2f933efdae7 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 87c7d52a979..46fa685b0d6 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)