qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v4 2/4] block/nbd: define new max_write_zero_fast limit


From: Vladimir Sementsov-Ogievskiy
Subject: Re: [PATCH v4 2/4] block/nbd: define new max_write_zero_fast limit
Date: Thu, 10 Sep 2020 14:12:49 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0

23.07.2020 23:32, Eric Blake wrote:
On 6/11/20 11:26 AM, Vladimir Sementsov-Ogievskiy wrote:
The NBD spec was recently updated to clarify that max_block doesn't
relate to NBD_CMD_WRITE_ZEROES with NBD_CMD_FLAG_FAST_ZERO (which
mirrors Qemu flag BDRV_REQ_NO_FALLBACK).

bs->bl.max_write_zero_fast is zero by default which means using
max_pwrite_zeroes. Update nbd driver to allow larger requests with
BDRV_REQ_NO_FALLBACK.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
---
  block/nbd.c | 1 +
  1 file changed, 1 insertion(+)

diff --git a/block/nbd.c b/block/nbd.c
index 4ac23c8f62..b0584cf68d 100644
--- a/block/nbd.c
+++ b/block/nbd.c
@@ -1956,6 +1956,7 @@ static void nbd_refresh_limits(BlockDriverState *bs, 
Error **errp)
      bs->bl.request_alignment = min;
      bs->bl.max_pdiscard = QEMU_ALIGN_DOWN(INT_MAX, min);
+    bs->bl.max_pwrite_zeroes_fast = bs->bl.max_pdiscard;
      bs->bl.max_pwrite_zeroes = max;

Do we even need max_pwrite_zeroes_fast?  Doesn't qemu behave correctly if we 
just blindly assign max_pdiscard and max_pwrite_zeroes to the same value near 
2G?


Without BDRV_REQ_NO_FALLBACK, max_block is an actual limit for WRITE_ZERO.. So, 
in my understanding, it doesn't


--
Best regards,
Vladimir



reply via email to

[Prev in Thread] Current Thread [Next in Thread]