Currently, all callers use bs->bl.request_alignment. This will
change in the next commit when making bdrv_co_do_zero_pwritev() honor
the block driver's pwrite_zeroes_alignment.
uint64_t is chosen as the type, because that is more common in other
functions already and in particular, in the bdrv_co_do_zero_pwritev()
caller.
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
---
block/io.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/block/io.c b/block/io.c
index cace297f22..e80aecf194 100644
--- a/block/io.c
+++ b/block/io.c
@@ -1474,10 +1474,9 @@ typedef struct BdrvRequestPadding {
static bool bdrv_init_padding(BlockDriverState *bs,
int64_t offset, int64_t bytes,
- bool write,
+ uint64_t align, bool write,
BdrvRequestPadding *pad)
{
- int64_t align = bs->bl.request_alignment;
int64_t sum;
bdrv_check_request(offset, bytes, &error_abort);
@@ -1716,6 +1715,7 @@ static int bdrv_pad_request(BlockDriverState *bs,
struct iovec *sliced_iov;
int sliced_niov;
size_t sliced_head, sliced_tail;
+ uint64_t align = bs->bl.request_alignment;
/* Should have been checked by the caller already */
ret = bdrv_check_request32(*offset, *bytes, *qiov, *qiov_offset);
@@ -1723,7 +1723,7 @@ static int bdrv_pad_request(BlockDriverState *bs,
return ret;
}
- if (!bdrv_init_padding(bs, *offset, *bytes, write, pad)) {
+ if (!bdrv_init_padding(bs, *offset, *bytes, align, write, pad)) {
if (padded) {
*padded = false;
}
@@ -2161,7 +2161,7 @@ bdrv_co_do_zero_pwritev(BdrvChild *child, int64_t offset, int64_t bytes,
/* This flag doesn't make sense for padding or zero writes */
flags &= ~BDRV_REQ_REGISTERED_BUF;
- padding = bdrv_init_padding(bs, offset, bytes, true, &pad);
+ padding = bdrv_init_padding(bs, offset, bytes, align, true, &pad);
if (padding) {
assert(!(flags & BDRV_REQ_NO_WAIT));
bdrv_make_request_serialising(req, align);
--
2.47.3