summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorDamien Le Moal <dlemoal@kernel.org>2026-06-20 20:35:38 +0900
committerDamien Le Moal <dlemoal@kernel.org>2026-07-18 10:09:06 +0900
commitdb496721cb0d369f34d7e0bf66692b050e2b6ff8 (patch)
tree2c98dd8aff479fc87a7322c232db372f45b527fe /include/linux
parent0f0bfa1bcaa5dd6a19c3614b16dc94d625030313 (diff)
ata: libata-scsi: add support for the REMOVE ELEMENT AND TRUNCATE command
Define the translation for the REMOVE ELEMENT AND TRUNCATE command (SERVICE ACTION IN command with service action SAI_REMOVE_ELEMENT_AND_TRUNCATE) into the ATA command ATA_CMD_REMOVE_ELEMENT_AND_TRUNCATE with the new function ata_scsi_remove_element_and_truncate_xlat() The array of supported commands ata_supported_cmds is modified to add a new entry for this command. ata_scsi_cmd_is_supported() is also modify to correctly handle this new entry depending on the target device flag ATA_DFLAG_DEPOP being set. The ATA command completion is handled using the function ata_scsi_depop_ua_cap_changed_complete() so that on a successful completion, a UNIT ATTENTION with the additional sense code set to CAPACITY DATA HAS CHANGED is raised. 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>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/ata.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/ata.h b/include/linux/ata.h
index 8b726d9bdda3..89ac27743f50 100644
--- a/include/linux/ata.h
+++ b/include/linux/ata.h
@@ -290,6 +290,7 @@ enum {
ATA_CMD_ZAC_MGMT_IN = 0x4A,
ATA_CMD_ZAC_MGMT_OUT = 0x9F,
ATA_CMD_GET_PHYS_ELEMENT_STATUS = 0x12,
+ ATA_CMD_REMOVE_ELEMENT_AND_TRUNCATE = 0x7c,
/* marked obsolete in the ATA/ATAPI-7 spec */
ATA_CMD_RESTORE = 0x10,