From: Max Reitz <[email protected]> On one occasion, hdev_open() returned -1 in case of an unknown error instead of a proper -errno value. Adjust this to match the behavior of raw_open() (in raw-win32), which is to return -EINVAL in this case. Also, change the call to error_setg*() to match the one in raw_open() as well.
Signed-off-by: Max Reitz <[email protected]> Reviewed-by: Eric Blake <[email protected]> Signed-off-by: Stefan Hajnoczi <[email protected]> --- block/raw-win32.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/block/raw-win32.c b/block/raw-win32.c index c3e4c62..676b570 100644 --- a/block/raw-win32.c +++ b/block/raw-win32.c @@ -590,12 +590,11 @@ static int hdev_open(BlockDriverState *bs, QDict *options, int flags, int err = GetLastError(); if (err == ERROR_ACCESS_DENIED) { - error_setg_errno(errp, EACCES, "Could not open device"); ret = -EACCES; } else { - error_setg(errp, "Could not open device"); - ret = -1; + ret = -EINVAL; } + error_setg_errno(errp, -ret, "Could not open device"); goto done; } -- 1.8.3.1
