[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [PATCH 3/5] qemu-nbd: Do not close stderr
From: |
Max Reitz |
Subject: |
[Qemu-block] [PATCH 3/5] qemu-nbd: Do not close stderr |
Date: |
Tue, 7 May 2019 20:36:08 +0200 |
We kept old_stderr specifically so we could keep emitting error message
on stderr. However, qemu_daemon() closes stderr. Therefore, we need to
dup() stderr to old_stderr before invoking qemu_daemon().
Signed-off-by: Max Reitz <address@hidden>
---
As I hinted at in the cover letter, I am not sure whether this is truly
a bug or whether the current behavior is intentional. So if you
disagree with me on this patch, you are welcome to suggest an
alternative.
I personally can see two:
(1) Add a --log option for a file to store the server's messages in.
Seems a bit cumbersome to me.
(2) Add a --keep-stderr option, which specifically enables this behavior
here. Without this option we keep the old behavior.
---
qemu-nbd.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/qemu-nbd.c b/qemu-nbd.c
index 7e48154f44..3805324153 100644
--- a/qemu-nbd.c
+++ b/qemu-nbd.c
@@ -1015,10 +1015,11 @@ int main(int argc, char **argv)
exit(EXIT_FAILURE);
} else if (pid == 0) {
close(stderr_fd[0]);
+
+ old_stderr = dup(STDERR_FILENO);
ret = qemu_daemon(1, 0);
/* Temporarily redirect stderr to the parent's pipe... */
- old_stderr = dup(STDERR_FILENO);
dup2(stderr_fd[1], STDERR_FILENO);
if (ret < 0) {
error_report("Failed to daemonize: %s", strerror(errno));
--
2.20.1
Re: [Qemu-block] [PATCH 1/5] qemu-nbd: Add --pid-file option, Daniel P . Berrangé, 2019/05/08
[Qemu-block] [PATCH 2/5] iotests.py: Add qemu_nbd_early_pipe(), Max Reitz, 2019/05/07
[Qemu-block] [PATCH 4/5] iotests: Use qemu-nbd's --pid-file, Max Reitz, 2019/05/07
[Qemu-block] [PATCH 3/5] qemu-nbd: Do not close stderr,
Max Reitz <=
[Qemu-block] [PATCH 5/5] iotests: Let 233 run concurrently, Max Reitz, 2019/05/07