Re: [PATCH v3 04/12] Protect SCSI device state changes with a mutex

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2017-06-05 at 10:09 +0200, Christoph Hellwig wrote:
> On Fri, Jun 02, 2017 at 02:21:55PM -0700, Bart Van Assche wrote:
> > Serializing SCSI device state changes avoids that two state changes
> > can occur concurrently, e.g. the state changes in scsi_target_block()
> > and __scsi_remove_device(). This serialization is essential to make
> > patch "Make __scsi_remove_device go straight from BLOCKED to DEL"
> > work reliably.
> > 
> > Enable this mechanism for all scsi_target_*block() callers but not
> > for the scsi_internal_device_unblock() calls from the mpt3sas driver
> > because that driver can call scsi_internal_device_unblock() from
> > atomic context.
> 
> And not taking the lock in that path is safe because of what conditions?

Hello Christoph,

The mpt3sas driver is the only driver that calls scsi_internal_device_block()
and scsi_internal_device_unblock() from atomic context. Since it's not an option
to protect the SCSI device state changes with a spinlock I prefer that the
mpt3sas authors convert the scsi_internal_device_block() calls into
scsi_target_block() calls.

Bart.



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux