[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 5/6] block/gluster: Do not force-cap *pnum
From: |
Max Reitz |
Subject: |
[PATCH v2 5/6] block/gluster: Do not force-cap *pnum |
Date: |
Wed, 23 Jun 2021 17:01:42 +0200 |
bdrv_co_block_status() does it for us, we do not need to do it here.
The advantage of not capping *pnum is that bdrv_co_block_status() can
cache larger data regions than requested by its caller.
Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
---
block/gluster.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/block/gluster.c b/block/gluster.c
index e8ee14c8e9..8ef7bb18d5 100644
--- a/block/gluster.c
+++ b/block/gluster.c
@@ -1461,7 +1461,8 @@ exit:
* the specified offset) that are known to be in the same
* allocated/unallocated state.
*
- * 'bytes' is the max value 'pnum' should be set to.
+ * 'bytes' is a soft cap for 'pnum'. If the information is free, 'pnum' may
+ * well exceed it.
*
* (Based on raw_co_block_status() from file-posix.c.)
*/
@@ -1500,12 +1501,12 @@ static int coroutine_fn
qemu_gluster_co_block_status(BlockDriverState *bs,
} else if (data == offset) {
/* On a data extent, compute bytes to the end of the extent,
* possibly including a partial sector at EOF. */
- *pnum = MIN(bytes, hole - offset);
+ *pnum = hole - offset;
ret = BDRV_BLOCK_DATA;
} else {
/* On a hole, compute bytes to the beginning of the next extent. */
assert(hole == offset);
- *pnum = MIN(bytes, data - offset);
+ *pnum = data - offset;
ret = BDRV_BLOCK_ZERO;
}
--
2.31.1
- Re: [PATCH v2 3/6] block: Clarify that @bytes is no limit on *pnum, (continued)
[PATCH v2 6/6] block/iscsi: Do not force-cap *pnum, Max Reitz, 2021/06/23
[PATCH v2 2/6] block: block-status cache for data regions, Max Reitz, 2021/06/23
[PATCH v2 4/6] block/file-posix: Do not force-cap *pnum, Max Reitz, 2021/06/23
[PATCH v2 5/6] block/gluster: Do not force-cap *pnum,
Max Reitz <=