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>
---
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 dde8c101c8..b02d8fc37b 100644
--- a/block/file-posix.c
+++ b/block/file-posix.c
@@ -1670,6 +1670,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
@@ -1681,7 +1683,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) {
@@ -1713,7 +1714,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.12.0