[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC v2 2/8] raw-format: add bdrv_measure() support
From: |
Nir Soffer |
Subject: |
Re: [Qemu-devel] [RFC v2 2/8] raw-format: add bdrv_measure() support |
Date: |
Sat, 18 Mar 2017 01:11:27 +0000 |
On Wed, Mar 15, 2017 at 11:29 AM Stefan Hajnoczi <address@hidden>
wrote:
> Maximum size calculation is trivial for the raw format: it's just the
> requested image size (because there is no metadata).
>
> Signed-off-by: Stefan Hajnoczi <address@hidden>
> ---
> block/raw-format.c | 22 ++++++++++++++++++++++
> 1 file changed, 22 insertions(+)
>
> diff --git a/block/raw-format.c b/block/raw-format.c
> index 86fbc65..cc88540 100644
> --- a/block/raw-format.c
> +++ b/block/raw-format.c
> @@ -312,6 +312,27 @@ static int64_t raw_getlength(BlockDriverState *bs)
> return s->size;
> }
>
> +static void raw_measure(QemuOpts *opts, BlockDriverState *in_bs,
> + BlockMeasureInfo *info,
> + Error **errp)
> +{
> + if (in_bs) {
> + int64_t ssize = bdrv_getlength(in_bs);
> + if (ssize < 0) {
> + error_setg_errno(errp, -ssize, "Unable to get image size");
> + return;
> + }
> + info->required_bytes = ssize;
> + } else {
> + info->required_bytes =
> + ROUND_UP(qemu_opt_get_size_del(opts, BLOCK_OPT_SIZE, 0),
> + BDRV_SECTOR_SIZE);
> + }
> +
> + /* Unallocated sectors count towards the file size in raw images */
> + info->fully_allocated_bytes = info->required_bytes;
> +}
> +
> static int raw_get_info(BlockDriverState *bs, BlockDriverInfo *bdi)
> {
> return bdrv_get_info(bs->file->bs, bdi);
> @@ -477,6 +498,7 @@ BlockDriver bdrv_raw = {
> .bdrv_truncate = &raw_truncate,
> .bdrv_getlength = &raw_getlength,
> .has_variable_length = true,
> + .bdrv_measure = &raw_measure,
> .bdrv_get_info = &raw_get_info,
> .bdrv_refresh_limits = &raw_refresh_limits,
> .bdrv_probe_blocksizes = &raw_probe_blocksizes,
> --
> 2.9.3
>
>
Looks good.
Nir
- [Qemu-devel] [RFC v2 0/8] qemu-img: add measure sub-command, Stefan Hajnoczi, 2017/03/15
- [Qemu-devel] [RFC v2 2/8] raw-format: add bdrv_measure() support, Stefan Hajnoczi, 2017/03/15
- Re: [Qemu-devel] [RFC v2 2/8] raw-format: add bdrv_measure() support,
Nir Soffer <=
- [Qemu-devel] [RFC v2 3/8] qcow2: extract preallocation calculation function, Stefan Hajnoczi, 2017/03/15
- [Qemu-devel] [RFC v2 5/8] qcow2: add bdrv_measure() support, Stefan Hajnoczi, 2017/03/15
- [Qemu-devel] [RFC v2 4/8] qcow2: extract image creation option parsing, Stefan Hajnoczi, 2017/03/15
- [Qemu-devel] [RFC v2 6/8] qemu-img: add measure subcommand, Stefan Hajnoczi, 2017/03/15