block/file-posix: Small fixes in raw_create()

Variables should be declared at the start of a block, and if a certain
parameter value is not supported it may be better to return -ENOTSUP
instead of -EINVAL.

Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20170613202107.10125-6-mreitz@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
This commit is contained in:
Max Reitz 2017-06-13 22:20:56 +02:00
parent dc5f690b97
commit 7dacd8bd3d
1 changed files with 3 additions and 2 deletions

View File

@ -1910,6 +1910,8 @@ static int raw_create(const char *filename, QemuOpts *opts, Error **errp)
#endif
case PREALLOC_MODE_FULL:
{
int64_t num = 0, left = total_size;
/*
* Knowing the final size from the beginning could allow the file
* system driver to do less allocations and possibly avoid
@ -1921,7 +1923,6 @@ static int raw_create(const char *filename, QemuOpts *opts, Error **errp)
goto out_close;
}
int64_t num = 0, left = total_size;
buf = g_malloc0(65536);
while (left > 0) {
@ -1953,7 +1954,7 @@ static int raw_create(const char *filename, QemuOpts *opts, Error **errp)
}
break;
default:
result = -EINVAL;
result = -ENOTSUP;
error_setg(errp, "Unsupported preallocation mode: %s",
PreallocMode_lookup[prealloc]);
break;