Message ID | 20230717145544.194786-6-den@openvz.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | qemu-nbd: fix regression with qemu-nbd --fork run over ssh | expand |
On Mon, Jul 17, 2023 at 04:55:44PM +0200, Denis V. Lunev wrote: > Fail on error, we are in trouble. > > Signed-off-by: Denis V. Lunev <den@openvz.org> > CC: Eric Blake <eblake@redhat.com> > CC: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru> > --- > qemu-nbd.c | 14 ++++++++++++-- > 1 file changed, 12 insertions(+), 2 deletions(-) > > diff --git a/qemu-nbd.c b/qemu-nbd.c > index f27613cb57..cd0e965705 100644 > --- a/qemu-nbd.c > +++ b/qemu-nbd.c > @@ -323,7 +323,12 @@ static void *nbd_client_thread(void *arg) > opts->device, srcpath); > } else { > /* Close stderr so that the qemu-nbd process exits. */ > - dup2(STDOUT_FILENO, STDERR_FILENO); > + int err = dup2(STDOUT_FILENO, STDERR_FILENO); > + if (err < 0) { Shorter to drop the temporary variable, and just do: if (dup2(...) < 0) { > + error_report("Could not set stderr to /dev/null: %s", > + strerror(errno)); > + exit(EXIT_FAILURE); > + } > } Either way, Reviewed-by: Eric Blake <eblake@redhat.com>
diff --git a/qemu-nbd.c b/qemu-nbd.c index f27613cb57..cd0e965705 100644 --- a/qemu-nbd.c +++ b/qemu-nbd.c @@ -323,7 +323,12 @@ static void *nbd_client_thread(void *arg) opts->device, srcpath); } else { /* Close stderr so that the qemu-nbd process exits. */ - dup2(STDOUT_FILENO, STDERR_FILENO); + int err = dup2(STDOUT_FILENO, STDERR_FILENO); + if (err < 0) { + error_report("Could not set stderr to /dev/null: %s", + strerror(errno)); + exit(EXIT_FAILURE); + } } if (nbd_client(fd) < 0) { @@ -1171,7 +1176,12 @@ int main(int argc, char **argv) } if (fork_process) { - dup2(STDOUT_FILENO, STDERR_FILENO); + ret = dup2(STDOUT_FILENO, STDERR_FILENO); + if (ret < 0) { + error_report("Could not set stderr to /dev/null: %s", + strerror(errno)); + exit(EXIT_FAILURE); + } } state = RUNNING;
Fail on error, we are in trouble. Signed-off-by: Denis V. Lunev <den@openvz.org> CC: Eric Blake <eblake@redhat.com> CC: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru> --- qemu-nbd.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-)