On Tue, Mar 10, 2020 at 06:46:50PM +0900, Johannes Thumshirn wrote: > When a LLDD can't dispatch a request to a specific zone, it will return > BLK_STS_ZONE_RESOURCE indicating this request needs to be delayed, e.g. > because the zone it will be dispatched to is still write-locked. > > If this happens set the request aside in a local list to continue trying > dispatching requests such as READ requests or a WRITE/ZONE_APPEND > requests targetting other zones. This way we can still keep a high queue > depth without starving other requests even if one request can't be > served due to zone write-locking. > > All requests put aside in the local list due to BLK_STS_ZONE_RESOURCE > are placed back at the head of the dispatch list for retrying the next > time the device queues are run again. This needs to go into the main zone append patch. Also I think some of the above explanation would be useful in comments in the code.