From: Dunrong Huang <riegama...@gmail.com> If we failed to create temporary snapshot, the error message did not match with the error, for example:
$ TMPDIR=/tmp/bad_path qemu-system-x86_64 -enable-kvm debian.qcow2 -snapshot qemu-system-x86_64: -enable-kvm: could not open disk image /home/mathslinux/Images/debian.qcow2: No such file or directory Indeed, the file which cant be created is /tmp/bad_path/vl.xxxxxx, not debian.qcow2. so the error message makes users feel confused. Signed-off-by: Dunrong Huang <riegama...@gmail.com> --- v1 -> v2: Output error message only if fd < 0 block.c | 7 ++++++- 1 个文件被修改,插入 6 行(+),删除 1 行(-) diff --git a/block.c b/block.c index 470bdcc..2dd0c5b 100644 --- a/block.c +++ b/block.c @@ -433,7 +433,12 @@ int get_tmp_filename(char *filename, int size) return -EOVERFLOW; } fd = mkstemp(filename); - if (fd < 0 || close(fd)) { + if (fd < 0) { + fprintf(stderr, "Could not create temporary snapshot in %s directory: " + "%s\n", tmpdir, strerror(errno)); + return -errno; + } + if (close(fd) != 0) { return -errno; } return 0; -- 1.7.12