summaryrefslogtreecommitdiffstats
path: root/include/scsi
diff options
context:
space:
mode:
authorPaolo Bonzini2019-07-02 10:23:20 +0200
committerPaolo Bonzini2019-07-15 11:20:42 +0200
commitbdf9613b7f87248eb84884b0bdff94e8ad0eab9b (patch)
treed4317b6e2fda7ceea1fe3b95295c0b9cbc7c84c2 /include/scsi
parentscsi-disk: pass sense correctly for guest-recoverable errors (diff)
downloadqemu-bdf9613b7f87248eb84884b0bdff94e8ad0eab9b.tar.gz
qemu-bdf9613b7f87248eb84884b0bdff94e8ad0eab9b.tar.xz
qemu-bdf9613b7f87248eb84884b0bdff94e8ad0eab9b.zip
scsi: explicitly list guest-recoverable sense codes
It's not really possible to fit all sense codes into errno codes, especially in such a way that sense codes can be properly categorized as either guest-recoverable or host-handled. Create a new function that checks for guest recoverable sense, then scsi_sense_buf_to_errno only needs to be called for host handled sense codes. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'include/scsi')
-rw-r--r--include/scsi/utils.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/scsi/utils.h b/include/scsi/utils.h
index 9351b21ead..fbc5588279 100644
--- a/include/scsi/utils.h
+++ b/include/scsi/utils.h
@@ -106,6 +106,7 @@ extern const struct SCSISense sense_code_SPACE_ALLOC_FAILED;
int scsi_sense_to_errno(int key, int asc, int ascq);
int scsi_sense_buf_to_errno(const uint8_t *sense, size_t sense_size);
+bool scsi_sense_buf_is_guest_recoverable(const uint8_t *sense, size_t sense_size);
int scsi_convert_sense(uint8_t *in_buf, int in_len,
uint8_t *buf, int len, bool fixed);