[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v10 7/9] block: support BDRV_REQ_ALLOCATE in pas
From: |
Vladimir Sementsov-Ogievskiy |
Subject: |
Re: [Qemu-devel] [PATCH v10 7/9] block: support BDRV_REQ_ALLOCATE in passthrough drivers |
Date: |
Wed, 5 Dec 2018 13:28:37 +0000 |
03.12.2018 13:14, Anton Nefedov wrote:
> Support the flag if the underlying BDS supports it
>
> Signed-off-by: Anton Nefedov <address@hidden>
Reviewed-by: Vladimir Sementsov-Ogievskiy <address@hidden>
> ---
> block/blkdebug.c | 2 +-
> block/blkverify.c | 2 +-
> block/copy-on-read.c | 4 ++--
> block/mirror.c | 2 +-
> block/raw-format.c | 2 +-
> 5 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/block/blkdebug.c b/block/blkdebug.c
> index 0759452925..f0fc2ec276 100644
> --- a/block/blkdebug.c
> +++ b/block/blkdebug.c
> @@ -401,7 +401,7 @@ static int blkdebug_open(BlockDriverState *bs, QDict
> *options, int flags,
> bs->supported_write_flags = BDRV_REQ_WRITE_UNCHANGED |
> (BDRV_REQ_FUA & bs->file->bs->supported_write_flags);
> bs->supported_zero_flags = BDRV_REQ_WRITE_UNCHANGED |
> - ((BDRV_REQ_FUA | BDRV_REQ_MAY_UNMAP) &
> + ((BDRV_REQ_FUA | BDRV_REQ_MAY_UNMAP | BDRV_REQ_ALLOCATE) &
> bs->file->bs->supported_zero_flags);
> ret = -EINVAL;
>
> diff --git a/block/blkverify.c b/block/blkverify.c
> index bb52596cbb..9cb4f94b68 100644
> --- a/block/blkverify.c
> +++ b/block/blkverify.c
> @@ -146,7 +146,7 @@ static int blkverify_open(BlockDriverState *bs, QDict
> *options, int flags,
> bs->file->bs->supported_write_flags &
> s->test_file->bs->supported_write_flags);
> bs->supported_zero_flags = BDRV_REQ_WRITE_UNCHANGED |
> - ((BDRV_REQ_FUA | BDRV_REQ_MAY_UNMAP) &
> + ((BDRV_REQ_FUA | BDRV_REQ_MAY_UNMAP | BDRV_REQ_ALLOCATE) &
> bs->file->bs->supported_zero_flags &
> s->test_file->bs->supported_zero_flags);
>
> diff --git a/block/copy-on-read.c b/block/copy-on-read.c
> index 64dcc424b5..1eb993699a 100644
> --- a/block/copy-on-read.c
> +++ b/block/copy-on-read.c
> @@ -38,8 +38,8 @@ static int cor_open(BlockDriverState *bs, QDict *options,
> int flags,
> bs->file->bs->supported_write_flags);
>
> bs->supported_zero_flags = BDRV_REQ_WRITE_UNCHANGED |
> - ((BDRV_REQ_FUA | BDRV_REQ_MAY_UNMAP) &
> - bs->file->bs->supported_zero_flags);
> + ((BDRV_REQ_FUA | BDRV_REQ_MAY_UNMAP | BDRV_REQ_ALLOCATE) &
> + bs->file->bs->supported_zero_flags);
>
> return 0;
> }
> diff --git a/block/mirror.c b/block/mirror.c
> index 56908c9b19..9d836a6bd3 100644
> --- a/block/mirror.c
> +++ b/block/mirror.c
> @@ -1531,7 +1531,7 @@ static void mirror_start_job(const char *job_id,
> BlockDriverState *bs,
> mirror_top_bs->supported_write_flags = BDRV_REQ_WRITE_UNCHANGED |
> (BDRV_REQ_FUA & bs->supported_write_flags);
> mirror_top_bs->supported_zero_flags = BDRV_REQ_WRITE_UNCHANGED |
> - ((BDRV_REQ_FUA | BDRV_REQ_MAY_UNMAP)
> + ((BDRV_REQ_FUA | BDRV_REQ_MAY_UNMAP | BDRV_REQ_ALLOCATE)
> & bs->supported_zero_flags);
>
> bs_opaque = g_new0(MirrorBDSOpaque, 1);
> diff --git a/block/raw-format.c b/block/raw-format.c
> index 6f6dc99b2c..ad7453dc83 100644
> --- a/block/raw-format.c
> +++ b/block/raw-format.c
> @@ -432,7 +432,7 @@ static int raw_open(BlockDriverState *bs, QDict *options,
> int flags,
> bs->supported_write_flags = BDRV_REQ_WRITE_UNCHANGED |
> (BDRV_REQ_FUA & bs->file->bs->supported_write_flags);
> bs->supported_zero_flags = BDRV_REQ_WRITE_UNCHANGED |
> - ((BDRV_REQ_FUA | BDRV_REQ_MAY_UNMAP) &
> + ((BDRV_REQ_FUA | BDRV_REQ_MAY_UNMAP | BDRV_REQ_ALLOCATE) &
> bs->file->bs->supported_zero_flags);
>
> if (bs->probed && !bdrv_is_read_only(bs)) {
>
--
Best regards,
Vladimir
[Qemu-devel] [PATCH v10 7/9] block: support BDRV_REQ_ALLOCATE in passthrough drivers, Anton Nefedov, 2018/12/03
[Qemu-devel] [PATCH v10 9/9] iotest 134: test cluster-misaligned encrypted write, Anton Nefedov, 2018/12/03