47 lines
2.0 KiB
Diff
47 lines
2.0 KiB
Diff
|
From: Eric Blake <eblake@redhat.com>
|
||
|
Date: Tue, 24 Mar 2020 12:42:33 -0500
|
||
|
Subject: sheepdog: Consistently set bdrv_has_zero_init_truncate
|
||
|
MIME-Version: 1.0
|
||
|
Content-Type: text/plain; charset=UTF-8
|
||
|
Content-Transfer-Encoding: 8bit
|
||
|
|
||
|
Git-commit: ed049910637be991c88cc25c864115bc5b1e4dab
|
||
|
|
||
|
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@redhat.com>
|
||
|
Message-Id: <20200324174233.1622067-5-eblake@redhat.com>
|
||
|
Reviewed-by: John Snow <jsnow@redhat.com>
|
||
|
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
|
||
|
Signed-off-by: Max Reitz <mreitz@redhat.com>
|
||
|
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||
|
---
|
||
|
block/sheepdog.c | 2 ++
|
||
|
1 file changed, 2 insertions(+)
|
||
|
|
||
|
diff --git a/block/sheepdog.c b/block/sheepdog.c
|
||
|
index cfa84338a2d6b653ce243ae53c7a..522c16a936762ff00ee23a5e9ca3 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,
|