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>
---
block/file-posix.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/block/file-posix.c b/block/file-posix.c
index 4a40976..3388def 100644
--- a/block/file-posix.c
+++ b/block/file-posix.c
@@ -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;
--
2.9.4