On Tue, 02/11 15:07, Hu Tao wrote: > This patch prepares for the subsequent patches. > > Signed-off-by: Hu Tao <hu...@cn.fujitsu.com> > --- > block/qcow2.c | 8 ++++---- > qapi-schema.json | 12 ++++++++++++ > 2 files changed, 16 insertions(+), 4 deletions(-) > > diff --git a/block/qcow2.c b/block/qcow2.c > index 99a1ad1..30e36bc 100644 > --- a/block/qcow2.c > +++ b/block/qcow2.c > @@ -1452,7 +1452,7 @@ static int preallocate(BlockDriverState *bs) > > static int qcow2_create2(const char *filename, int64_t total_size, > const char *backing_file, const char > *backing_format, > - int flags, size_t cluster_size, int prealloc, > + int flags, size_t cluster_size, PreallocMode > prealloc, > QEMUOptionParameter *options, int version, > Error **errp) > { > @@ -1622,7 +1622,7 @@ static int qcow2_create(const char *filename, > QEMUOptionParameter *options, > uint64_t sectors = 0; > int flags = 0; > size_t cluster_size = DEFAULT_CLUSTER_SIZE; > - int prealloc = 0; > + PreallocMode prealloc = PREALLOC_MODE_OFF; > int version = 3; > Error *local_err = NULL; > int ret; > @@ -1643,9 +1643,9 @@ static int qcow2_create(const char *filename, > QEMUOptionParameter *options, > } > } else if (!strcmp(options->name, BLOCK_OPT_PREALLOC)) { > if (!options->value.s || !strcmp(options->value.s, "off")) { > - prealloc = 0; > + prealloc = PREALLOC_MODE_OFF; > } else if (!strcmp(options->value.s, "metadata")) { > - prealloc = 1; > + prealloc = PREALLOC_MODE_METADATA; > } else { > error_setg(errp, "Invalid preallocation mode: '%s'", > options->value.s); > diff --git a/qapi-schema.json b/qapi-schema.json > index 05ced9d..f86068c 100644 > --- a/qapi-schema.json > +++ b/qapi-schema.json > @@ -4419,3 +4419,15 @@ > # Since: 1.7 > ## > { 'command': 'blockdev-add', 'data': { 'options': 'BlockdevOptions' } } > + > +## > +# @PreallocMode > +# > +# Preallocation mode of QEMU image file > +# > +# @off: no preallocation > +# @metadata: preallocate only for metadata > +# @full: preallocate all data, including metadata > +## > +{ 'enum': 'PreallocMode', > + 'data': [ 'off', 'metadata', 'full' ] } > -- > 1.8.0 >
Reviewed-by: Fam Zheng <f...@redhat.com>