From 49f2e129f8cc52beb4cac122c70fe1824a45d53a Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Sun, 12 Mar 2023 16:20:38 +0100 Subject: [PATCH] mkfs-util: Redirect mkfs.vfat stdout to /dev/null mkfs.vfat does not have a --quiet option so let's redirect its stdout to /dev/null instead. --- src/shared/mkfs-util.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/shared/mkfs-util.c b/src/shared/mkfs-util.c index e073d66f3cb..6c259009af4 100644 --- a/src/shared/mkfs-util.c +++ b/src/shared/mkfs-util.c @@ -271,6 +271,7 @@ int make_filesystem( _cleanup_strv_free_ char **argv = NULL; _cleanup_(unlink_and_freep) char *protofile = NULL; char vol_id[CONST_MAX(SD_ID128_UUID_STRING_MAX, 8U + 1U)] = {}; + int stdio_fds[3] = { -EBADF, STDERR_FILENO, STDERR_FILENO}; int r; assert(node); @@ -442,6 +443,9 @@ int make_filesystem( return log_oom(); } + /* mkfs.vfat does not have a --quiet option so let's redirect stdout to /dev/null instead. */ + stdio_fds[1] = -EBADF; + } else if (streq(fstype, "swap")) /* TODO: add --quiet here if * https://github.com/util-linux/util-linux/issues/1499 resolved. */ @@ -473,7 +477,14 @@ int make_filesystem( if (extra_mkfs_args && strv_extend_strv(&argv, extra_mkfs_args, false) < 0) return log_oom(); - r = safe_fork("(mkfs)", FORK_RESET_SIGNALS|FORK_RLIMIT_NOFILE_SAFE|FORK_DEATHSIG|FORK_LOG|FORK_WAIT|FORK_STDOUT_TO_STDERR|FORK_CLOSE_ALL_FDS, NULL); + r = safe_fork_full( + "(mkfs)", + stdio_fds, + /*except_fds=*/ NULL, + /*n_except_fds=*/ 0, + FORK_RESET_SIGNALS|FORK_RLIMIT_NOFILE_SAFE|FORK_DEATHSIG|FORK_LOG|FORK_WAIT| + FORK_CLOSE_ALL_FDS|FORK_REARRANGE_STDIO, + /*ret_pid=*/ NULL); if (r < 0) return r; if (r == 0) { -- 2.47.3