From: Daan De Meyer Date: Sun, 12 Mar 2023 15:20:38 +0000 (+0100) Subject: mkfs-util: Redirect mkfs.vfat stdout to /dev/null X-Git-Tag: v254-rc1~1055^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F26775%2Fhead;p=thirdparty%2Fsystemd.git 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. --- 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) {