|
From: | Max Reitz |
Subject: | Re: [PATCH 4/6] block/gluster: Do not force-cap *pnum |
Date: | Mon, 21 Jun 2021 11:47:00 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1 |
On 19.06.21 12:36, Vladimir Sementsov-Ogievskiy wrote:
17.06.2021 18:52, Max Reitz wrote: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: 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;Interesting, isn't it a bug that we don't ROUND_UP *pnum to request_alignment here like it is done in file-posix ?
Guess I forgot gluster in 9c3db310ff0 O:)I don’t think I’ll be able to reproduce it for gluster, but I suppose just doing the same thing for gluster should be fine...
Max
[Prev in Thread] | Current Thread | [Next in Thread] |