> On Jul 25, 2023, at 5:57 AM, Linux regression tracking (Thorsten Leemhuis) <regressions@xxxxxxxxxxxxx> wrote: > > On 12.07.23 15:29, Chuck Lever III wrote: >>> On Jul 12, 2023, at 7:34 AM, Chengming Zhou <chengming.zhou@xxxxxxxxx> wrote: >>> On 2023/7/11 20:01, Christoph Hellwig wrote: >>>> On Mon, Jul 10, 2023 at 05:40:42PM +0000, Chuck Lever III wrote: >>>>>> blk_rq_init_flush(rq); >>>>>> - rq->flush.seq |= REQ_FSEQ_POSTFLUSH; >>>>>> + rq->flush.seq |= REQ_FSEQ_PREFLUSH; >>>>>> spin_lock_irq(&fq->mq_flush_lock); >>>>>> list_move_tail(&rq->flush.list, &fq->flush_data_in_flight); >>>>>> spin_unlock_irq(&fq->mq_flush_lock); >>>>> >>>>> Thanks for the quick response. No change. >>>> I'm a bit lost and still can't reprodce. Below is a patch with the >>>> only behavior differences I can find. It has two "#if 1" blocks, >>>> which I'll need to bisect to to find out which made it work (if any, >>>> but I hope so). >>> >>> I tried today to reproduce, but can't unfortunately. >>> >>> Could you please also try the fix patch [1] from Ross Lagerwall that fixes >>> IO hung problem of plug recursive flush? >>> >>> (Since the main difference is that post-flush requests now can go into plug.) >>> >>> [1] https://lore.kernel.org/all/20230711160434.248868-1-ross.lagerwall@xxxxxxxxxx/ >> >> Thanks for the suggestion. No change, unfortunately. > > Chuck, what's the status here? This thread looks stalled, that's why I > wonder. > > FWIW, I noticed a commit with a Fixes: tag for your culprit in next (see > 28b24123747098 ("blk-flush: fix rq->flush.seq for post-flush > requests")). But unless I missed something you are not CCed, so I guess > that's a different issue? Hi Thorsten- This issue was fixed in 6.5-rc2 by commit 9f87fc4d72f5 ("block: queue data commands from the flush state machine at the head") -- Chuck Lever