On Wed, Jun 17, 2026 at 03:36:58PM +0200, Niklas Cassel wrote:
> For zoned block devices with SWR zones, the order of the writes must be
> maintained to avoid write not at write pointer errors.
> Thus, cache.direct=on must be used to bypass the page cache, since the
> page cache uses write-back caching, where the physical order of the writes
> is not guaranteed.
> 
> There is already a check for cache.direct=on in raw_open_common(),
> however, this check is done before raw_refresh_zoned_limits() has been
> called (which initializes bs->bl.zoned), so it is currently dead code.
> 
> Fix this by moving the check to raw_refresh_zoned_limits(), such that the
> check is done after bs->bl.zoned has been initialized.
> 
> Reviewed-by: Damien Le Moal <[email protected]>
> Reviewed-by: Dmitry Fomichev <[email protected]>
> Fixes: 774c726ceb2a ("block: add zoned BlockDriver check to block layer")
> Signed-off-by: Niklas Cassel <[email protected]>
> ---
> Changes since v1:
> -Picked up tags from Damien and Dmitry
> -Modified existing code comment to use plural instead of singular
> 
>  block/file-posix.c | 22 ++++++++++------------
>  1 file changed, 10 insertions(+), 12 deletions(-)

No comments from Kevin and this is a zoned storage fix, so I'm picking
it up.

QEMU is currently frozen for the 11.1 release and only serious
regressions, security fixes, or build fixes should go into the next
release candidate (-rc3).

I'm applying this to my block-next tree for the next release (11.2). It
will hit the master branch in about 2 weeks when 11.1 has been released.

Thanks, applied to my block-next tree:
https://gitlab.com/stefanha/qemu/commits/block-next

Stefan

Attachment: signature.asc
Description: PGP signature

Reply via email to