On Wed, Nov 27, 2024 at 08:31:43PM +0900, Damien Le Moal wrote: > > We should not issue a report zones to a frozen queue, as that would > > bypass the freezing protection. I suspect the right thing is to > > simply defer the error recovery action until after the queue is > > unfrozen. > > But that is the issue: if we defer the report zones, we cannot make progress > with BIOs still plugged in the zone write plug BIO list. These hold a queue > usage reference that the queue freeze wait is waiting for. We have to somehow > allow that report zones to execute to make progress and empty the zone write > plugs of all plugged BIOs. Or just fail all the bios. > Note that if we were talking about regular writes only, we would not need to > care about error recovery as we would simply need to abort all these plugged > BIOs (as we know they will fail anyway). But for a correct zone append > emulation, we need to recover the zone write pointer to resume the > execution of the plugged BIOs. Otherwise, the user would see failed zone > append commands that are not suppose to fail unless the drive (or the > zone) is dead... Maybe I'm thick, but what error could we recover from here?