Print this page
701 UNMAP support for COMSTAR
Contributed by: Sumit Gupta <sumit.gupta@nexenta.com>
Reviewed by: Garrett D'Amore <garrett@nexenta.com>

@@ -19,10 +19,12 @@
  * CDDL HEADER END
  */
 
 /*
  * Copyright (c) 1990, 2010, Oracle and/or its affiliates. All rights reserved.
+ *
+ * Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
  */
 
 #ifndef _SYS_SCSI_GENERIC_COMMANDS_H
 #define _SYS_SCSI_GENERIC_COMMANDS_H
 

@@ -231,17 +233,19 @@
 #define SCMD_READ_DEFECT_LIST   0x37
 #define SCMD_WRITE_BUFFER       0x3B
 #define SCMD_READ_BUFFER        0x3c
 #define SCMD_READ_LONG          0x3E
 #define SCMD_WRITE_LONG         0x3F
+#define SCMD_WRITE_SAME_G1      0x41
+#define SCMD_UNMAP              0x42
+#define SCMD_GET_CONFIGURATION  0x46
+#define SCMD_LOG_SELECT_G1      0x4c
+#define SCMD_LOG_SENSE_G1       0x4d
 #define SCMD_RESERVE_G1         0x56
 #define SCMD_RELEASE_G1         0x57
 #define SCMD_MODE_SELECT_G1     0x55
 #define SCMD_MODE_SENSE_G1      0x5A
-#define SCMD_GET_CONFIGURATION  0x46
-#define SCMD_LOG_SELECT_G1      0x4C
-#define SCMD_LOG_SENSE_G1       0x4d
 
 
 /*
  * Group 1 Commands, Sequential Access Devices
  */

@@ -331,10 +335,11 @@
  * Group 4 Commands, Direct Access Devices
  */
 #define SCMD_READ_G4            0x88
 #define SCMD_WRITE_G4           0x8a
 #define SCMD_WRITE_VERIFY_G4    0x8e
+#define SCMD_WRITE_SAME_G4      0x93
 #define SCMD_SVC_ACTION_IN_G4   0x9e
 #define SCMD_SVC_ACTION_OUT_G4  0x9f
 
 /*
  * Group 4 Service Actions for Service Action In (16)

@@ -453,10 +458,12 @@
 /* 0x3a */ SCMD_COPY_VERIFY,            "copy_verify",                  \
 /* 0x3b */ SCMD_WRITE_BUFFER,           "write_buffer",                 \
 /* 0x3c */ SCMD_READ_BUFFER,            "read_buffer",                  \
 /* 0x3e */ SCMD_READ_LONG,              "read_long",                    \
 /* 0x3f */ SCMD_WRITE_LONG,             "write_long",                   \
+/* 0x41 */ SCMD_WRITE_SAME_G1,          "write_same(10)",               \
+/* 0x42 */ SCMD_UNMAP,                  "unmap",                        \
 /* 0x44 */ SCMD_REPORT_DENSITIES |                                      \
                 /* SCMD_READ_HEADER (from cdio.h) | */                  \
                 0,                      "report_densities/read_header", \
 /* 0x4c */ SCMD_LOG_SELECT_G1,          "log_select",                   \
 /* 0x4d */ SCMD_LOG_SENSE_G1,           "log_sense",                    \

@@ -475,10 +482,11 @@
 /* 0x8d */ SCMD_WRITE_ATTRIBUTE,        "write_attribute",              \
 /* 0x8e */ SCMD_WRITE_VERIFY_G4,        "write_verify(16)",             \
 /* 0x8f */ SCMD_VERIFY_G4,              "verify(16)",                   \
 /* 0x91 */ SCMD_SPACE_G4,               "space(16)",                    \
 /* 0x92 */ SCMD_LOCATE_G4,              "locate(16)",                   \
+/* 0x92 */ SCMD_WRITE_SAME_G4,          "write_same(16)",               \
 /* 0x9e */ SCMD_SVC_ACTION_IN_G4,       "service_action_in(16)",        \
 /* 0x9f */ SCMD_SVC_ACTION_OUT_G4,      "service_action_out(16)",       \
 /* 0xa0 */ SCMD_REPORT_LUNS,            "report_luns",                  \
 /* 0xa2 */ SCMD_SECURITY_PROTO_IN,      "security_protocol_in",         \
 /* 0xa3 */ SCMD_MAINTENANCE_IN,         "maintenance_in",               \