qemu-nbd: improve error message for dup2 error

This error happens if we are not able to close the pipe to the
parent (to trace errors in the child process) and assign stderr to
/dev/null as required by the daemonizing convention.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Suggested-by: Eric Blake <eblake@redhat.com>
CC: Eric Blake <eblake@redhat.com>
CC: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Message-ID: <20230906093210.339585-2-den@openvz.org>
Reviewed-by: Eric Blake <eblake@redhat.com>
[eblake: commit message grammar]
Signed-off-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
Denis V. Lunev 2023-09-06 11:32:03 +02:00 committed by Eric Blake
parent 522a9b94e0
commit b4bbdf51e3

View File

@ -324,7 +324,7 @@ static void *nbd_client_thread(void *arg)
} else {
/* Close stderr so that the qemu-nbd process exits. */
if (dup2(STDOUT_FILENO, STDERR_FILENO) < 0) {
error_report("Could not set stderr to /dev/null: %s",
error_report("Could not release pipe to parent: %s",
strerror(errno));
exit(EXIT_FAILURE);
}
@ -1181,7 +1181,7 @@ int main(int argc, char **argv)
if (fork_process) {
if (dup2(STDOUT_FILENO, STDERR_FILENO) < 0) {
error_report("Could not set stderr to /dev/null: %s",
error_report("Could not release pipe to parent: %s",
strerror(errno));
exit(EXIT_FAILURE);
}