diff options
author | Christof Schmitt <christof.schmitt@de.ibm.com> | 2010-09-08 14:39:54 +0200 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-09-16 22:54:16 -0400 |
commit | fdbd1c5e27dabfa950d4b0f52a20069aeaf67b9d (patch) | |
tree | 402ea45cf57a2fdcef7a6011a1c64bc7d43cc66e /drivers/s390/scsi/zfcp_scsi.c | |
parent | e4b9857fe628b453983cac89473a11a76a1f5786 (diff) |
[SCSI] zfcp: Allow running unit/LUN shutdown without acquiring reference
With the change for the LUN data to be part of the scsi_device, the
slave_destroy callback will be the final call to the
zfcp_erp_unit_shutdown function. The erp tries to acquire a reference
to run the action asynchronously and fail, if it cannot get the
reference. But calling scsi_device_get from slave_destroy will fail,
because the scsi_device is already in the state SDEV_DEL.
Introduce a new call into the zfcp erp to solve this: The function
zfcp_erp_unit_shutdown_wait will close the LUN and wait for the erp to
finish without acquiring an additional reference. The wait allows to
omit the reference; the caller waiting for the erp to finish already
has a reference that holds the struct in place.
Reviewed-by: Swen Schillig <swen@vnet.ibm.com>
Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/s390/scsi/zfcp_scsi.c')
0 files changed, 0 insertions, 0 deletions