[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 2/3] scsi: Enhance scsi_sense_to_errno
From: |
Fam Zheng |
Subject: |
[Qemu-devel] [PATCH v3 2/3] scsi: Enhance scsi_sense_to_errno |
Date: |
Fri, 18 Aug 2017 22:15:11 +0800 |
Two changes:
1) Look at asc/ascq for NOT_READY and DATA_PROTECT;
2) Translate SPACE_ALLOC_FAILED as ENOSPC;
Signed-off-by: Fam Zheng <address@hidden>
---
util/scsi.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/util/scsi.c b/util/scsi.c
index 92ca436cd0..d42ce33449 100644
--- a/util/scsi.c
+++ b/util/scsi.c
@@ -18,13 +18,11 @@
int scsi_sense_to_errno(int key, int asc, int ascq)
{
switch (key) {
- case 0x02: /* SCSI_SENSE_NOT_READY */
- return EBUSY;
- case 0x07: /* SCSI_SENSE_DATA_PROTECTION */
- return EACCES;
case 0x0b: /* SCSI_SENSE_COMMAND_ABORTED */
return ECANCELED;
+ case 0x02: /* SCSI_SENSE_NOT_READY */
case 0x05: /* SCSI_SENSE_ILLEGAL_REQUEST */
+ case 0x07: /* SCSI_SENSE_DATA_PROTECTION */
/* Parse ASCQ */
break;
default:
@@ -37,6 +35,7 @@ int scsi_sense_to_errno(int key, int asc, int ascq)
case 0x2600: /* SCSI_SENSE_ASCQ_INVALID_FIELD_IN_PARAMETER_LIST */
return EINVAL;
case 0x2100: /* SCSI_SENSE_ASCQ_LBA_OUT_OF_RANGE */
+ case 0x2707: /* SCSI_SENSE_ASCQ_SPACE_ALLOC_FAILED */
return ENOSPC;
case 0x2500: /* SCSI_SENSE_ASCQ_LOGICAL_UNIT_NOT_SUPPORTED */
return ENOTSUP;
--
2.13.4