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)