Now that we output an error message according to the returned error code in qemu-img, let's return the real error codes. "Input/output error" for everything isn't helpful.
Signed-off-by: Kevin Wolf <kw...@redhat.com> --- block/raw-posix.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/block/raw-posix.c b/block/raw-posix.c index 716c15c..f07d730 100644 --- a/block/raw-posix.c +++ b/block/raw-posix.c @@ -1009,12 +1009,12 @@ static int hdev_create(const char *filename, QEMUOptionParameter *options) fd = open(filename, O_WRONLY | O_BINARY); if (fd < 0) - return -EIO; + return -errno; if (fstat(fd, &stat_buf) < 0) - ret = -EIO; + ret = -errno; else if (!S_ISBLK(stat_buf.st_mode) && !S_ISCHR(stat_buf.st_mode)) - ret = -EIO; + ret = -ENODEV; else if (lseek(fd, 0, SEEK_END) < total_size * 512) ret = -ENOSPC; -- 1.6.6.1