scsi: define depopulation capabilities related service actions

Add to include/scsi/scsi_proto.h the definition of the four service
actions of the SERVICE ACTION IN (16) command for the storage element
depopulation and restoration capabilities, as defined in the SBC5 and
ZBC2 specifications. These are:
 - SAI_GET_PHYSICAL_ELEMENT_STATUS (GET PHYSICAL ELEMENT STATUS command)
 - SAI_REMOVE_ELEMENT_AND_TRUNCATE (REMOVE ELEMENT AND TRUNCATE command)
 - SAI_RESTORE_ELEMENTS_AND_REBUILD (RESTORE ELEMENTS AND REBUILD command)
 - SAI_REMOVE_ELEMENT_AND_MODIFY_ZONES (REMOVE ELEMENT AND MODIFY ZONES
   command)

The physical element types and physical element health values reported by
the GET PHYSICAL ELEMENT STATUS command are also defined.

Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Reviewed-by: Hannes Reinecke <hare@kernel.org>
This commit is contained in:
Damien Le Moal
2026-06-22 16:40:07 +09:00
parent 7c8b3f6578
commit 2a0adbb80a

View File

@@ -129,6 +129,10 @@
#define SAI_GET_LBA_STATUS 0x12
#define SAI_REPORT_REFERRALS 0x13
#define SAI_GET_STREAM_STATUS 0x16
#define SAI_GET_PHYSICAL_ELEMENT_STATUS 0x17
#define SAI_REMOVE_ELEMENT_AND_TRUNCATE 0x18
#define SAI_RESTORE_ELEMENTS_AND_REBUILD 0x19
#define SAI_REMOVE_ELEMENT_AND_MODIFY_ZONES 0x1a
/* values for maintenance in */
#define MI_REPORT_IDENTIFYING_INFORMATION 0x05
#define MI_REPORT_TARGET_PGS 0x0a
@@ -464,6 +468,25 @@ enum zbc_zone_alignment_method {
ZBC_CONSTANT_ZONE_START_OFFSET = 0x8,
};
/* SCSI physical element types */
enum scsi_phys_element_type {
SCSI_PHYS_ELEM_TYPE_ALL_ACCESS_STORAGE = 0x1,
SCSI_PHYS_ELEM_TYPE_FRAC_ACCESS_STORAGE = 0x2,
};
/* SCSI physical element health. */
enum scsi_phys_element_health {
SCSI_PHYS_ELEM_HEALTH_NOT_REPORTED = 0x00,
SCSI_PHYS_ELEM_HEALTH_WITHIN_SPEC_LIMITS = 0x01,
SCSI_PHYS_ELEM_HEALTH_AT_SPEC_LIMITS = 0x64,
SCSI_PHYS_ELEM_HEALTH_OUTSIDE_SPEC_LIMITS = 0x65,
SCSI_PHYS_ELEM_HEALTH_DEPOP_REVOKE_ERR = 0xFB,
SCSI_PHYS_ELEM_HEALTH_DEPOP_REVOKE_IN_PROGRESS = 0xFC,
SCSI_PHYS_ELEM_HEALTH_DEPOP_ERR = 0xFD,
SCSI_PHYS_ELEM_HEALTH_DEPOP_IN_PROGRESS = 0xFE,
SCSI_PHYS_ELEM_HEALTH_DEPOP_OK = 0xFF,
};
/* Version descriptor values for INQUIRY */
enum scsi_version_descriptor {
SCSI_VERSION_DESCRIPTOR_FCP4 = 0x0a40,