summaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorVladimir Sementsov-Ogievskiy2021-09-03 12:28:05 +0200
committerEric Blake2021-09-29 20:46:32 +0200
commit39af49c0d7e0a2a285f1bcbd3db0db88f15b1d8c (patch)
treecc0ffb81e8123552885c15a30662f1b1479e153f /block
parentblock/io: allow 64bit write-zeroes requests (diff)
downloadqemu-39af49c0d7e0a2a285f1bcbd3db0db88f15b1d8c.tar.gz
qemu-39af49c0d7e0a2a285f1bcbd3db0db88f15b1d8c.tar.xz
qemu-39af49c0d7e0a2a285f1bcbd3db0db88f15b1d8c.zip
block: make BlockLimits::max_pdiscard 64bit
We are going to support 64 bit discard requests. Now update the limit variable. It's absolutely safe. The variable is set in some drivers, and used in bdrv_co_pdiscard(). Update also max_pdiscard variable in bdrv_co_pdiscard(), so that bdrv_co_pdiscard() is now prepared for 64bit requests. The remaining logic including num, offset and bytes variables is already supporting 64bit requests. So the only thing that prevents 64 bit requests is limiting max_pdiscard variable to INT_MAX in bdrv_co_pdiscard(). We'll drop this limitation after updating all block drivers. Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-Id: <20210903102807.27127-10-vsementsov@virtuozzo.com> Signed-off-by: Eric Blake <eblake@redhat.com>
Diffstat (limited to 'block')
-rw-r--r--block/io.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/block/io.c b/block/io.c
index e40462742e..3846e2ed96 100644
--- a/block/io.c
+++ b/block/io.c
@@ -3056,7 +3056,8 @@ int coroutine_fn bdrv_co_pdiscard(BdrvChild *child, int64_t offset,
int64_t bytes)
{
BdrvTrackedRequest req;
- int max_pdiscard, ret;
+ int ret;
+ int64_t max_pdiscard;
int head, tail, align;
BlockDriverState *bs = child->bs;