When qemu-nbd becomes a daemon it calls daemon(3) with nochdir=0, so daemon(3) changes current directory to /. But at this time, qemu-nbd did not open any user-specified files yet, so by changing current directory, all non-absolute paths becomes wrong. The solution is to pass nochdir=1 to daemon(3) function.
This patch is applicable for -stable. Signed-Off-By: Michael Tokarev <m...@tls.msk.ru> --- qemu-nbd.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/qemu-nbd.c b/qemu-nbd.c index eb61c33..d84e2a7 100644 --- a/qemu-nbd.c +++ b/qemu-nbd.c @@ -429,7 +429,7 @@ int main(int argc, char **argv) pid = fork(); if (pid == 0) { close(stderr_fd[0]); - ret = qemu_daemon(0, 0); + ret = qemu_daemon(1, 0); /* Temporarily redirect stderr to the parent's pipe... */ dup2(stderr_fd[1], STDERR_FILENO); -- 1.7.2.5