Message ID | 20230612165049.29440-8-mwilck@suse.com |
---|---|
State | Superseded |
Headers | show |
Series | scsi: fixes for targets with many LUNs, and scsi_target_block rework | expand |
On 6/12/23 18:50, mwilck@suse.com wrote: > From: Martin Wilck <mwilck@suse.com> > > If __scsi_internal_device_block() returns an error, it is always -EINVAL > because of an invalid state transition. For debugging purposes, it makes > more sense to print the device state. > > Signed-off-by: Martin Wilck <mwilck@suse.com> > --- > drivers/scsi/scsi_lib.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > Reviewed-by: Hannes Reinecke <hare@suse.de> Cheers, Hannes
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c index 1ddd75e6d600..243c7e91e297 100644 --- a/drivers/scsi/scsi_lib.c +++ b/drivers/scsi/scsi_lib.c @@ -2789,9 +2789,11 @@ EXPORT_SYMBOL_GPL(scsi_internal_device_block_nowait); static void scsi_device_block(struct scsi_device *sdev, void *data) { int err; + enum scsi_device_state state; mutex_lock(&sdev->state_mutex); err = __scsi_internal_device_block_nowait(sdev); + state = sdev->sdev_state; if (err == 0) /* * scsi_stop_queue() must be called with the state_mutex @@ -2802,8 +2804,8 @@ static void scsi_device_block(struct scsi_device *sdev, void *data) mutex_unlock(&sdev->state_mutex); - WARN_ONCE(err, "__scsi_internal_device_block_nowait(%s) failed: err = %d\n", - dev_name(&sdev->sdev_gendev), err); + WARN_ONCE(err, "%s: failed to block %s in state %d\n", + __func__, dev_name(&sdev->sdev_gendev), state); } /**