scsi: add a bunch more common sense codes
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
739df2150d
commit
a872a3049a
@ -696,6 +696,16 @@ const struct SCSISense sense_code_LUN_NOT_SUPPORTED = {
|
||||
.key = ILLEGAL_REQUEST, .asc = 0x25, .ascq = 0x00
|
||||
};
|
||||
|
||||
/* Illegal request, Saving parameters not supported */
|
||||
const struct SCSISense sense_code_SAVING_PARAMS_NOT_SUPPORTED = {
|
||||
.key = ILLEGAL_REQUEST, .asc = 0x39, .ascq = 0x00
|
||||
};
|
||||
|
||||
/* Illegal request, Incompatible medium installed */
|
||||
const struct SCSISense sense_code_INCOMPATIBLE_MEDIUM = {
|
||||
.key = ILLEGAL_REQUEST, .asc = 0x30, .ascq = 0x00
|
||||
};
|
||||
|
||||
/* Command aborted, I/O process terminated */
|
||||
const struct SCSISense sense_code_IO_ERROR = {
|
||||
.key = ABORTED_COMMAND, .asc = 0x00, .ascq = 0x06
|
||||
@ -711,6 +721,26 @@ const struct SCSISense sense_code_LUN_FAILURE = {
|
||||
.key = ABORTED_COMMAND, .asc = 0x3e, .ascq = 0x01
|
||||
};
|
||||
|
||||
/* Unit attention, Power on, reset or bus device reset occurred */
|
||||
const struct SCSISense sense_code_RESET = {
|
||||
.key = UNIT_ATTENTION, .asc = 0x29, .ascq = 0x00
|
||||
};
|
||||
|
||||
/* Unit attention, Medium may have changed */
|
||||
const struct SCSISense sense_code_MEDIUM_CHANGED = {
|
||||
.key = UNIT_ATTENTION, .asc = 0x28, .ascq = 0x00
|
||||
};
|
||||
|
||||
/* Unit attention, Reported LUNs data has changed */
|
||||
const struct SCSISense sense_code_REPORTED_LUNS_CHANGED = {
|
||||
.key = UNIT_ATTENTION, .asc = 0x3f, .ascq = 0x0e
|
||||
};
|
||||
|
||||
/* Unit attention, Device internal reset */
|
||||
const struct SCSISense sense_code_DEVICE_INTERNAL_RESET = {
|
||||
.key = UNIT_ATTENTION, .asc = 0x29, .ascq = 0x04
|
||||
};
|
||||
|
||||
/*
|
||||
* scsi_build_sense
|
||||
*
|
||||
|
12
hw/scsi.h
12
hw/scsi.h
@ -144,12 +144,24 @@ extern const struct SCSISense sense_code_LBA_OUT_OF_RANGE;
|
||||
extern const struct SCSISense sense_code_INVALID_FIELD;
|
||||
/* Illegal request, LUN not supported */
|
||||
extern const struct SCSISense sense_code_LUN_NOT_SUPPORTED;
|
||||
/* Illegal request, Saving parameters not supported */
|
||||
extern const struct SCSISense sense_code_SAVING_PARAMS_NOT_SUPPORTED;
|
||||
/* Illegal request, Incompatible format */
|
||||
extern const struct SCSISense sense_code_INCOMPATIBLE_FORMAT;
|
||||
/* Command aborted, I/O process terminated */
|
||||
extern const struct SCSISense sense_code_IO_ERROR;
|
||||
/* Command aborted, I_T Nexus loss occurred */
|
||||
extern const struct SCSISense sense_code_I_T_NEXUS_LOSS;
|
||||
/* Command aborted, Logical Unit failure */
|
||||
extern const struct SCSISense sense_code_LUN_FAILURE;
|
||||
/* Unit attention, Power on, reset or bus device reset occurred */
|
||||
extern const struct SCSISense sense_code_RESET;
|
||||
/* Unit attention, Medium may have changed*/
|
||||
extern const struct SCSISense sense_code_MEDIUM_CHANGED;
|
||||
/* Unit attention, Reported LUNs data has changed */
|
||||
extern const struct SCSISense sense_code_REPORTED_LUNS_CHANGED;
|
||||
/* Unit attention, Device internal reset */
|
||||
extern const struct SCSISense sense_code_DEVICE_INTERNAL_RESET;
|
||||
|
||||
#define SENSE_CODE(x) sense_code_ ## x
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user