[sheepdog] [PATCH v2 4/4] sheepdog: Consistently set bdrv_has_zero_init_truncate
John Snow
jsnow at redhat.com
Tue Mar 24 20:33:59 CET 2020
On 3/24/20 1:42 PM, Eric Blake wrote:
> block_int.h claims that .bdrv_has_zero_init must return 0 if
> .bdrv_has_zero_init_truncate does likewise; but this is violated if
> only the former callback is provided if .bdrv_co_truncate also exists.
> When adding the latter callback, it was mistakenly added to only one
> of the three possible sheepdog instantiations.
>
> Fixes: 1dcaf527
> Signed-off-by: Eric Blake <eblake at redhat.com>
> ---
> block/sheepdog.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/block/sheepdog.c b/block/sheepdog.c
> index cfa84338a2d6..522c16a93676 100644
> --- a/block/sheepdog.c
> +++ b/block/sheepdog.c
> @@ -3269,6 +3269,7 @@ static BlockDriver bdrv_sheepdog_tcp = {
> .bdrv_co_create = sd_co_create,
> .bdrv_co_create_opts = sd_co_create_opts,
> .bdrv_has_zero_init = bdrv_has_zero_init_1,
> + .bdrv_has_zero_init_truncate = bdrv_has_zero_init_1,
> .bdrv_getlength = sd_getlength,
> .bdrv_get_allocated_file_size = sd_get_allocated_file_size,
> .bdrv_co_truncate = sd_co_truncate,
> @@ -3307,6 +3308,7 @@ static BlockDriver bdrv_sheepdog_unix = {
> .bdrv_co_create = sd_co_create,
> .bdrv_co_create_opts = sd_co_create_opts,
> .bdrv_has_zero_init = bdrv_has_zero_init_1,
> + .bdrv_has_zero_init_truncate = bdrv_has_zero_init_1,
> .bdrv_getlength = sd_getlength,
> .bdrv_get_allocated_file_size = sd_get_allocated_file_size,
> .bdrv_co_truncate = sd_co_truncate,
>
Reviewed-by: John Snow <jsnow at redhat.com>
More information about the sheepdog
mailing list