On Mon 12 Mar 2018 11:16:53 AM CET, Anton Nefedov wrote:
> The flag is supposed to indicate that the region of the disk image has
> to be sufficiently allocated so it reads as zeroes.
>
> The call with the flag set must return -ENOTSUP if allocation cannot
> be done efficiently.
> This has to be made sure of by both
>   - the drivers that support the flag
>   - and the common block layer (so it will not fall back to any slowpath
>     (like writing zero buffers) in case the driver does not support
>     the flag).
>
> Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com>
> Reviewed-by: Eric Blake <ebl...@redhat.com>
> Reviewed-by: Alberto Garcia <be...@igalia.com>

Hmm... this is not the patch that I reviewed, please remove the R-b
lines when you submit a modified patch.

> +    /* The BDRV_REQ_ALLOCATE flag is used to indicate that the driver has to
> +     * efficiently allocate the space so it reads as zeroes, or return an 
> error.
> +     * Must be used together with BDRV_REQ_ZERO_WRITE.

I guess it's understandable from the context but it's not immediately
obvious that you can set BDRV_REQ_ZERO_WRITE but not this one.

Perhaps it could be rephrased as something like "If this is set then
BDRV_REQ_ZERO_WRITE must also be set".

> +     * Contradictory to BDRV_REQ_MAY_UNMAP so the two must not be used 
> together.

Or simply "This flag cannot be set together with BDRV_REQ_MAY_UNMAP".

> +     */
> +    BDRV_REQ_ALLOCATE           = 0x40,

Berto

Reply via email to