On Fri, 14 Feb 2025 13:14:34 +0900, Damien Le Moal wrote: > For devices that natively support zone append operations, > REQ_OP_ZONE_APPEND BIOs are not processed through zone write plugging > and are immediately issued to the zoned device. This means that there is > no write pointer offset tracking done for these operations and that a > zone write plug is not necessary. > > However, when receiving a zone append BIO, we may already have a zone > write plug for the target zone if that zone was previously partially > written using regular write operations. In such case, since the write > pointer offset of the zone write plug is not incremented by the amount > of sectors appended to the zone, 2 issues arise: > 1) we risk leaving the plug in the disk hash table if the zone is fully > written using zone append or regular write operations, because the > write pointer offset will never reach the "zone full" state. > 2) Regular write operations that are issued after zone append operations > will always be failed by blk_zone_wplug_prepare_bio() as the write > pointer alignment check will fail, even if the user correctly > accounted for the zone append operations and issued the regular > writes with a correct sector. > > [...] Applied, thanks! [1/1] block: Remove zone write plugs when handling native zone append writes commit: a6aa36e957a1bfb5341986dec32d013d23228fe1 Best regards, -- Jens Axboe