|
@@ -1693,6 +1693,10 @@ void transport_generic_request_failure(struct se_cmd *cmd,
|
|
|
case TCM_LOGICAL_BLOCK_APP_TAG_CHECK_FAILED:
|
|
|
case TCM_LOGICAL_BLOCK_REF_TAG_CHECK_FAILED:
|
|
|
case TCM_COPY_TARGET_DEVICE_NOT_REACHABLE:
|
|
|
+ case TCM_TOO_MANY_TARGET_DESCS:
|
|
|
+ case TCM_UNSUPPORTED_TARGET_DESC_TYPE_CODE:
|
|
|
+ case TCM_TOO_MANY_SEGMENT_DESCS:
|
|
|
+ case TCM_UNSUPPORTED_SEGMENT_DESC_TYPE_CODE:
|
|
|
break;
|
|
|
case TCM_OUT_OF_RESOURCES:
|
|
|
sense_reason = TCM_LOGICAL_UNIT_COMMUNICATION_FAILURE;
|
|
@@ -2808,6 +2812,26 @@ static const struct sense_info sense_info_table[] = {
|
|
|
.key = ILLEGAL_REQUEST,
|
|
|
.asc = 0x26, /* INVALID FIELD IN PARAMETER LIST */
|
|
|
},
|
|
|
+ [TCM_TOO_MANY_TARGET_DESCS] = {
|
|
|
+ .key = ILLEGAL_REQUEST,
|
|
|
+ .asc = 0x26,
|
|
|
+ .ascq = 0x06, /* TOO MANY TARGET DESCRIPTORS */
|
|
|
+ },
|
|
|
+ [TCM_UNSUPPORTED_TARGET_DESC_TYPE_CODE] = {
|
|
|
+ .key = ILLEGAL_REQUEST,
|
|
|
+ .asc = 0x26,
|
|
|
+ .ascq = 0x07, /* UNSUPPORTED TARGET DESCRIPTOR TYPE CODE */
|
|
|
+ },
|
|
|
+ [TCM_TOO_MANY_SEGMENT_DESCS] = {
|
|
|
+ .key = ILLEGAL_REQUEST,
|
|
|
+ .asc = 0x26,
|
|
|
+ .ascq = 0x08, /* TOO MANY SEGMENT DESCRIPTORS */
|
|
|
+ },
|
|
|
+ [TCM_UNSUPPORTED_SEGMENT_DESC_TYPE_CODE] = {
|
|
|
+ .key = ILLEGAL_REQUEST,
|
|
|
+ .asc = 0x26,
|
|
|
+ .ascq = 0x09, /* UNSUPPORTED SEGMENT DESCRIPTOR TYPE CODE */
|
|
|
+ },
|
|
|
[TCM_PARAMETER_LIST_LENGTH_ERROR] = {
|
|
|
.key = ILLEGAL_REQUEST,
|
|
|
.asc = 0x1a, /* PARAMETER LIST LENGTH ERROR */
|