On Thu, 28 Mar 2013 15:32:12 -0400
Jeff Moyer <jmo...@redhat.com> wrote:

> Hi,
> 
> If blk_get_requet fails here, it means that the queue is dead.  It
> seems better to return a DEV_OFFLINED error code than the misleading
> TEMP_UNAVAIL.  Comments?
> 
> Signed-off-by: Jeff Moyer <jmo...@redhat.com>
> 
> diff --git a/drivers/scsi/device_handler/scsi_dh_hp_sw.c
> b/drivers/scsi/device_handler/scsi_dh_hp_sw.c index 084062b..eec24d3
> 100644 --- a/drivers/scsi/device_handler/scsi_dh_hp_sw.c
> +++ b/drivers/scsi/device_handler/scsi_dh_hp_sw.c
> @@ -118,7 +118,7 @@ static int hp_sw_tur(struct scsi_device *sdev,
> struct hp_sw_dh_data *h) retry:
>       req = blk_get_request(sdev->request_queue, WRITE, GFP_NOIO);
>       if (!req)
> -             return SCSI_DH_RES_TEMP_UNAVAIL;
> +             return SCSI_DH_DEV_OFFLINED;
>  
>       req->cmd_type = REQ_TYPE_BLOCK_PC;
>       req->cmd_flags |= REQ_FAILFAST_DEV | REQ_FAILFAST_TRANSPORT |

Hi Jeff,

How about hp_sw_start_stop?  It calls blk_get_request with GFP_ATOMIC,
so it might see !req for dead queue or no memory.

-- Joe
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to