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 > Reviewed-by: Dmitry Fomichev > Fixes: 774c726ceb2a ("block: add zoned BlockDriver check to block layer") > Signed-off-by: Niklas Cassel > --- > 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(-) Reviewed-by: Stefan Hajnoczi