summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBryant G. Ly <bryantly@linux.vnet.ibm.com>2017-04-18 14:10:05 -0500
committerNicholas Bellinger <nab@linux-iscsi.org>2017-05-01 22:21:40 -0700
commitc2d26f18dcbc84799457852292c66967ff6626f1 (patch)
treed4e918ab86dacd99d9abbe7a5289562a56c9cda0
parent38d454f0b5fab60d76eed5dcdfc7823d43d087ab (diff)
downloadlinux-c2d26f18dcbc84799457852292c66967ff6626f1.tar.bz2
target: Add WRITE_VERIFY_16
This patch addresses clients who needs write_verify_16 for large volume groups such as AIX. Signed-off-by: Bryant G. Ly <bryantly@linux.vnet.ibm.com> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
-rw-r--r--drivers/target/target_core_sbc.c2
-rw-r--r--include/scsi/scsi_proto.h1
2 files changed, 3 insertions, 0 deletions
diff --git a/drivers/target/target_core_sbc.c b/drivers/target/target_core_sbc.c
index a7fa4a7339db..f9250b3c3fd4 100644
--- a/drivers/target/target_core_sbc.c
+++ b/drivers/target/target_core_sbc.c
@@ -850,6 +850,7 @@ static sense_reason_t sbc_parse_verify(struct se_cmd *cmd, int *sectors,
cmd->t_task_lba = transport_lba_32(cdb);
break;
case VERIFY_16:
+ case WRITE_VERIFY_16:
*sectors = transport_get_sectors_16(cdb);
cmd->t_task_lba = transport_lba_64(cdb);
break;
@@ -962,6 +963,7 @@ sbc_parse_cdb(struct se_cmd *cmd, struct sbc_ops *ops)
cmd->execute_cmd = sbc_execute_rw;
break;
case WRITE_VERIFY:
+ case WRITE_VERIFY_16:
ret = sbc_parse_verify(cmd, &sectors, &size);
if (ret)
return ret;
diff --git a/include/scsi/scsi_proto.h b/include/scsi/scsi_proto.h
index 6ba66e01f6df..ce78ec8e367d 100644
--- a/include/scsi/scsi_proto.h
+++ b/include/scsi/scsi_proto.h
@@ -112,6 +112,7 @@
#define WRITE_16 0x8a
#define READ_ATTRIBUTE 0x8c
#define WRITE_ATTRIBUTE 0x8d
+#define WRITE_VERIFY_16 0x8e
#define VERIFY_16 0x8f
#define SYNCHRONIZE_CACHE_16 0x91
#define WRITE_SAME_16 0x93