summaryrefslogtreecommitdiff
path: root/src/shared/mkfs-util.c
diff options
context:
space:
mode:
authorAidan Dang <dang@aidan.gg>2022-12-10 21:58:27 +1100
committerLennart Poettering <lennart@poettering.net>2022-12-15 22:22:10 +0100
commit8f30c00c50d7fd569853dfca5b9c1ffbcbad2b32 (patch)
tree0c349d1879320bf3f27edfbf9f1f49fac8506ef3 /src/shared/mkfs-util.c
parent15cad3a2abdbcdb8c2efc255abd636d511b20f50 (diff)
downloadsystemd-8f30c00c50d7fd569853dfca5b9c1ffbcbad2b32.tar.gz
Implement SYSTEMD_HOME_MKFS_OPTIONS_* envvars to configure mkfs options for homed LUKS directories
Diffstat (limited to 'src/shared/mkfs-util.c')
-rw-r--r--src/shared/mkfs-util.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/shared/mkfs-util.c b/src/shared/mkfs-util.c
index 97c3ff8da2..59d851ba0f 100644
--- a/src/shared/mkfs-util.c
+++ b/src/shared/mkfs-util.c
@@ -302,7 +302,8 @@ int make_filesystem(
const char *label,
const char *root,
sd_id128_t uuid,
- bool discard) {
+ bool discard,
+ char * const *extra_mkfs_args) {
_cleanup_free_ char *mkfs = NULL, *mangled_label = NULL;
_cleanup_strv_free_ char **argv = NULL;
@@ -522,6 +523,12 @@ int make_filesystem(
if (!argv)
return log_oom();
+ if (extra_mkfs_args) {
+ r = strv_extend_strv(&argv, extra_mkfs_args, false);
+ if (r < 0)
+ return log_oom();
+ }
+
if (root && stat(root, &st) < 0)
return log_error_errno(errno, "Failed to stat %s: %m", root);