[SCSI] libsas: enforce eh strategy handlers only in eh context
The strategy handlers may be called in places that are problematic for libsas (i.e. sata resets outside of domain revalidation filtering / libata link recovery), or problematic for userspace (non-blocking ioctl to sleeping reset functions). However, these routines are also called for eh escalations and recovery of scsi_eh_prep_cmnd(), so permit them as long as we are running in the host's error handler, otherwise arrange for them to be triggered in eh_context. Signed-off-by:Dan Williams <dan.j.williams@intel.com> Signed-off-by:
James Bottomley <JBottomley@Parallels.com>
Showing
- drivers/scsi/libsas/sas_discover.c 11 additions, 0 deletionsdrivers/scsi/libsas/sas_discover.c
- drivers/scsi/libsas/sas_init.c 2 additions, 0 deletionsdrivers/scsi/libsas/sas_init.c
- drivers/scsi/libsas/sas_scsi_host.c 117 additions, 4 deletionsdrivers/scsi/libsas/sas_scsi_host.c
- include/scsi/libsas.h 10 additions, 0 deletionsinclude/scsi/libsas.h
Please register or sign in to comment