On Fri, 2018-08-10 at 09:20 +0800, Ming Lei wrote: > On Thu, Aug 09, 2018 at 12:41:39PM -0700, Bart Van Assche wrote: > > Process all requests in state SDEV_CREATED instead of only RQF_DV > > requests. This does not change the behavior of the SCSI core because > > the SCSI device state is modified into another state before SCSI > > devices become visible in sysfs and before any device nodes are > > created in /dev. Do not process RQF_DV requests in state SDEV_CANCEL > > because only power management requests should be processed in this > > state. > > Could you explain a bit why only PM requests should be processed in > SDEV_CANCEL?
Hi Ming, There is only one function that changes the device state into SDEV_CANCEL, namely __scsi_remove_device(). I think that in the SDEV_CANCEL state all newly queued requests should be ignored except the SYNCHRONIZE CACHE and STOP commands submitted by sd_shutdown(). More information about the SCSI device states is available in the commit message of 9b22a8fb0edd ("Updated state model for SCSI devices"). Bart.