On 08/12/2011 05:01 PM, Rob Evers wrote:
replace numeric messages with string error messages when blk_execute_rq fails. Also add printing of sense info. Mike Christie suggested adding printing of sense info here Signed-off-by: Rob Evers<revers@xxxxxxxxxx> --- drivers/scsi/device_handler/scsi_dh_alua.c | 27 ++++++++++++++++++--------- 1 files changed, 18 insertions(+), 9 deletions(-) diff --git a/drivers/scsi/device_handler/scsi_dh_alua.c b/drivers/scsi/device_handler/scsi_dh_alua.c index 6fec9fe..58fdf64 100644 --- a/drivers/scsi/device_handler/scsi_dh_alua.c +++ b/drivers/scsi/device_handler/scsi_dh_alua.c @@ -24,6 +24,7 @@ #include<scsi/scsi.h> #include<scsi/scsi_eh.h> #include<scsi/scsi_dh.h> +#include<scsi/scsi_dbg.h> #define ALUA_DH_NAME "alua" #define ALUA_DH_VER "1.3" @@ -153,9 +154,12 @@ static int submit_std_inquiry(struct scsi_device *sdev, struct alua_dh_data *h) err = blk_execute_rq(rq->q, NULL, rq, 1); if (err == -EIO) { - sdev_printk(KERN_INFO, sdev, - "%s: std inquiry failed with %x\n", - ALUA_DH_NAME, rq->errors); + sdev_printk(KERN_INFO, sdev, "%s: std inquiry failed\n", + ALUA_DH_NAME); + scsi_show_result(rq->errors); + if (driver_byte(rq->errors)&& DRIVER_SENSE) + __scsi_print_sense("alua std_inquiry", rq->sense, + rq->sense_len); h->senselen = rq->sense_len; err = SCSI_DH_IO; } @@ -190,9 +194,12 @@ static int submit_vpd_inquiry(struct scsi_device *sdev, struct alua_dh_data *h) err = blk_execute_rq(rq->q, NULL, rq, 1); if (err == -EIO) { - sdev_printk(KERN_INFO, sdev, - "%s: evpd inquiry failed with %x\n", - ALUA_DH_NAME, rq->errors); + sdev_printk(KERN_INFO, sdev, "%s: evpd inquiry failed\n", + ALUA_DH_NAME); + scsi_show_result(rq->errors); + if (driver_byte(rq->errors)&& DRIVER_SENSE) + __scsi_print_sense("alua vpd_inquiry", rq->sense, + rq->sense_len); h->senselen = rq->sense_len; err = SCSI_DH_IO; } @@ -229,9 +236,11 @@ static unsigned submit_rtpg(struct scsi_device *sdev, struct alua_dh_data *h) err = blk_execute_rq(rq->q, NULL, rq, 1); if (err == -EIO) { - sdev_printk(KERN_INFO, sdev, - "%s: rtpg failed with %x\n", - ALUA_DH_NAME, rq->errors); + sdev_printk(KERN_INFO, sdev, "%s: rtpg failed\n", ALUA_DH_NAME); + scsi_show_result(rq->errors); + if (driver_byte(rq->errors)&& DRIVER_SENSE) + __scsi_print_sense("alua submit_rtpg", rq->sense, + rq->sense_len); h->senselen = rq->sense_len; err = SCSI_DH_IO; }
Hannes, Did you get a chance to take a look at this patch? Thanks, Rob -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html