diff options
author | Paolo Bonzini | 2019-07-02 10:23:20 +0200 |
---|---|---|
committer | Paolo Bonzini | 2019-07-15 11:20:42 +0200 |
commit | bdf9613b7f87248eb84884b0bdff94e8ad0eab9b (patch) | |
tree | d4317b6e2fda7ceea1fe3b95295c0b9cbc7c84c2 /include/scsi | |
parent | scsi-disk: pass sense correctly for guest-recoverable errors (diff) | |
download | qemu-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.h | 1 |
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); |