On Wed, Jun 07, 2023 at 11:26:04AM +0200, Martin Wilck wrote: > > cleanups: > > > > 1) remove scsi_internal_device_block and fold it into device_block > > ok > > > 2) move the scsi_internal_device_block in what was > > You mean scsi_stop_queue() here, right? Yes. > The reason is simple: I wasn't certain if dev_to_shost() could return > NULL, and preferred skipping the wait over an Oops. I hear you say that > dev_to_shost() can't go wrong, so I'll remove the NULL test. Well, the parent device can't really go away while we have a reference to a child. So the only case where it can return NULL is if the passed in device isn't the child of a SCSI host, which would be a grave programming error. > > > Btw, as far as I can tell scsi_target_block is never called for > > a device that is a target device. It might be worth throwing in > > another patch to remove support for that case and simplify things > > further. > > Can we do this separately, maybe? Sure. Would be nice to just tack into onto the end of this series if you touch the area, though. > On Wed, 2023-06-07 at 11:26 +0200, Martin Wilck wrote: > > On Wed, 2023-06-07 at 07:27 +0200, Christoph Hellwig wrote: > > > > > > 3) remove scsi_stop_queue and open code it in the two callers, > > > one > > > of which currently wants nowait semantics, and one that > > > doesn't. > > ok > > Hm, scsi_stop_queue() pairs with scsi_start_queue(), do we really want > to open-code it? Oh well, feel free to keep it if you prefer it that way.