if (r < 0)
return log_error_errno(r, "Failed to determine mkfs command line options for '%s': %m", fstype);
- r = make_filesystem(setup->dm_node, fstype, user_record_user_name_and_realm(h), NULL, fs_uuid, user_record_luks_discard(h), 0, extra_mkfs_options);
+ r = make_filesystem(setup->dm_node,
+ fstype,
+ user_record_user_name_and_realm(h),
+ /* root = */ NULL,
+ fs_uuid,
+ user_record_luks_discard(h),
+ /* quiet = */ true,
+ /* sector_size = */ 0,
+ extra_mkfs_options);
if (r < 0)
return r;
if (r < 0)
return log_error_errno(r, "Failed to extract file name from '%s': %m", device);
- return make_filesystem(device, fstype, label, NULL, uuid, true, 0, NULL);
+ return make_filesystem(device,
+ fstype,
+ label,
+ /* root = */ NULL,
+ uuid,
+ /* discard = */ true,
+ /* quiet = */ true,
+ /* sector_size = */ 0,
+ /* extra_mkfs_options = */ NULL);
}
DEFINE_MAIN_FUNCTION(run);
p->format);
r = make_filesystem(partition_target_path(t), p->format, strempty(p->new_label), root,
- p->fs_uuid, arg_discard, context->sector_size, extra_mkfs_options);
+ p->fs_uuid, arg_discard, /* quiet = */ false, context->sector_size,
+ extra_mkfs_options);
if (r < 0)
return r;
p->format);
r = make_filesystem(d ? d->node : temp, p->format, strempty(p->new_label), root, fs_uuid,
- arg_discard, context->sector_size, extra_mkfs_options);
+ arg_discard, /* quiet = */ false, context->sector_size, extra_mkfs_options);
if (r < 0)
return r;
return log_error_errno(r, "Failed to make loopback device of %s: %m", temp);
r = make_filesystem(d ? d->node : temp, p->format, strempty(p->new_label), root, p->fs_uuid,
- arg_discard, context->sector_size, extra_mkfs_options);
+ arg_discard, /* quiet = */ false, context->sector_size, extra_mkfs_options);
if (r < 0)
return r;
const char *root,
sd_id128_t uuid,
bool discard,
+ bool quiet,
uint64_t sector_size,
char * const *extra_mkfs_args) {
/* When changing this conditional, also adjust the log statement below. */
if (STR_IN_SET(fstype, "ext2", "ext3", "ext4")) {
argv = strv_new(mkfs,
- "-q",
"-L", label,
"-U", vol_id,
"-I", "256",
if (root && strv_extend_strv(&argv, STRV_MAKE("-d", root), false) < 0)
return log_oom();
+ if (quiet && strv_extend(&argv, "-q") < 0)
+ return log_oom();
+
} else if (streq(fstype, "btrfs")) {
argv = strv_new(mkfs,
- "-q",
"-L", label,
"-U", vol_id,
node);
if (root && strv_extend_strv(&argv, STRV_MAKE("-r", root), false) < 0)
return log_oom();
+ if (quiet && strv_extend(&argv, "-q") < 0)
+ return log_oom();
+
} else if (streq(fstype, "f2fs")) {
argv = strv_new(mkfs,
- "-q",
"-g", /* "default options" */
"-f", /* force override, without this it doesn't seem to want to write to an empty partition */
"-l", label,
"-t", one_zero(discard),
node);
+ if (quiet && strv_extend(&argv, "-q") < 0)
+ return log_oom();
+
} else if (streq(fstype, "xfs")) {
const char *j;
j = strjoina("uuid=", vol_id);
argv = strv_new(mkfs,
- "-q",
"-L", label,
"-m", j,
"-m", "reflink=1",
return log_oom();
}
+ if (quiet && strv_extend(&argv, "-q") < 0)
+ return log_oom();
+
} else if (streq(fstype, "vfat")) {
argv = strv_new(mkfs,
}
/* mkfs.vfat does not have a --quiet option so let's redirect stdout to /dev/null instead. */
- stdio_fds[1] = -EBADF;
+ if (quiet)
+ stdio_fds[1] = -EBADF;
- } else if (streq(fstype, "swap"))
- /* TODO: add --quiet here if
- * https://github.com/util-linux/util-linux/issues/1499 resolved. */
+ } else if (streq(fstype, "swap")) {
+ /* TODO: add --quiet once util-linux v2.38 is available everywhere. */
argv = strv_new(mkfs,
"-L", label,
"-U", vol_id,
node);
- else if (streq(fstype, "squashfs")) {
+ if (quiet)
+ stdio_fds[1] = -EBADF;
+
+ } else if (streq(fstype, "squashfs")) {
argv = strv_new(mkfs,
root, node,
"-noappend");
/* mksquashfs -quiet option is pretty new so let's redirect stdout to /dev/null instead. */
- stdio_fds[1] = -EBADF;
+ if (quiet)
+ stdio_fds[1] = -EBADF;
- } else if (streq(fstype, "erofs"))
+ } else if (streq(fstype, "erofs")) {
argv = strv_new(mkfs,
"-U", vol_id,
node, root);
- else
+
+ if (quiet && strv_extend(&argv, "--quiet") < 0)
+ return log_oom();
+
+ } else
/* Generic fallback for all other file systems */
argv = strv_new(mkfs, node);
const char *root,
sd_id128_t uuid,
bool discard,
+ bool quiet,
uint64_t sector_size,
char * const *extra_mkfs_args);
assert_se(r >= 0);
assert_se(sd_id128_randomize(&id) >= 0);
- assert_se(make_filesystem(dissected->partitions[PARTITION_ESP].node, "vfat", "EFI", NULL, id, true, 0, NULL) >= 0);
+ assert_se(make_filesystem(dissected->partitions[PARTITION_ESP].node, "vfat", "EFI", NULL, id, true, false, 0, NULL) >= 0);
assert_se(sd_id128_randomize(&id) >= 0);
- assert_se(make_filesystem(dissected->partitions[PARTITION_XBOOTLDR].node, "vfat", "xbootldr", NULL, id, true, 0, NULL) >= 0);
+ assert_se(make_filesystem(dissected->partitions[PARTITION_XBOOTLDR].node, "vfat", "xbootldr", NULL, id, true, false, 0, NULL) >= 0);
assert_se(sd_id128_randomize(&id) >= 0);
- assert_se(make_filesystem(dissected->partitions[PARTITION_ROOT].node, "ext4", "root", NULL, id, true, 0, NULL) >= 0);
+ assert_se(make_filesystem(dissected->partitions[PARTITION_ROOT].node, "ext4", "root", NULL, id, true, false, 0, NULL) >= 0);
assert_se(sd_id128_randomize(&id) >= 0);
- assert_se(make_filesystem(dissected->partitions[PARTITION_HOME].node, "ext4", "home", NULL, id, true, 0, NULL) >= 0);
+ assert_se(make_filesystem(dissected->partitions[PARTITION_HOME].node, "ext4", "home", NULL, id, true, false, 0, NULL) >= 0);
dissected = dissected_image_unref(dissected);