On 5/12/23 2:21?PM, Christoph Hellwig wrote: > On Fri, May 12, 2023 at 09:43:32AM -0600, Jens Axboe wrote: >> We really have two types of passthrough - normal kind of IO, and >> potential error recovery etc IO. The former can plug just fine, and I >> don't think we should treat it differently. Might make more sense to >> just bypass plugging for error handling type of IO, or pt that doesn't >> transfer any data to avoid having a NULL bio inserted into the >> scheduler. > > I'd suggest we distinguish by ... having a plug or not. Anything > internal like EH or probing should never come from a context with > a plug. That's fine for telling error handling, probing etc apart from "normal" IO, but it doesn't solve the problem at hand which is assuming that anything inserted into the scheduler has a bio. This is obviously true for actual IO done via pt, but you can do data less commands through that too. -- Jens Axboe