On 9/26/22 8:43 AM, Christoph Hellwig wrote: > On Mon, Sep 26, 2022 at 08:40:54AM -0600, Jens Axboe wrote: >> On 9/26/22 8:37 AM, Christoph Hellwig wrote: >>> On Sun, Sep 25, 2022 at 08:53:46PM +0200, Pankaj Raghav wrote: >>>> Modify blk_mq_plug() to allow plugging only for read operations in zoned >>>> block devices as there are alternative IO paths in the linux block >>>> layer which can end up doing a write via driver private requests in >>>> sequential write zones. >>> >>> We should be able to plug for all operations that are not >>> REQ_OP_ZONE_APPEND just fine. >> >> Agree, I think we just want to make this about someone doing a series >> of appends. If you mix-and-match with passthrough you will have a bad >> time anyway. > > Err, sorry - what I wrote about is compelte garbage. I initially > wanted to say you can plug for REQ_OP_ZONE_APPEND just fine, and then > realized that we also want various other ones that have the write bit > set batched. So I suspect we really want to explicitly check for > REQ_OP_WRITE here. My memory was a bit hazy, since we have separate ops for the driver in/out, I think just checking for REQ_OP_WRITE is indeed the right choice. That's the single case we need to care about. -- Jens Axboe