aboutsummaryrefslogtreecommitdiffstats
path: root/include/target
diff options
context:
space:
mode:
authorNicholas Bellinger <nab@linux-iscsi.org>2011-07-17 05:57:58 -0400
committerNicholas Bellinger <nab@linux-iscsi.org>2011-07-22 05:37:49 -0400
commit5de619a31d9cb051d1f818e661af4e54def82316 (patch)
treebbdf282c42fe3818607fff4f3a4f7d1b74ee064e /include/target
parent1d20bb6147954d4fbd337a3d1b40c7eeae254cd7 (diff)
target: Update QUEUE ALGORITHM MODIFIER control page default
This patch adds the default 'Unrestricted reordering allowed' for SCSI control mode page QUEUE ALGORITHM MODIFIER on a per se_device basis in target_modesense_control() following spc4r23. This includes a new emuluate_rest_reord configfs attribute that currently (only) accepts zero to signal 'Unrestricted reordering allowed' in control mode page usage by the backend target device. Reported-by: Roland Dreier <roland@purestorage.com> Signed-off-by: Nicholas Bellinger <nab@risingtidesystems.com>
Diffstat (limited to 'include/target')
-rw-r--r--include/target/target_core_base.h1
-rw-r--r--include/target/target_core_device.h1
-rw-r--r--include/target/target_core_transport.h2
3 files changed, 4 insertions, 0 deletions
diff --git a/include/target/target_core_base.h b/include/target/target_core_base.h
index 8204c76ca12b..86ca35539b94 100644
--- a/include/target/target_core_base.h
+++ b/include/target/target_core_base.h
@@ -662,6 +662,7 @@ struct se_dev_attrib {
662 int emulate_alua; 662 int emulate_alua;
663 int enforce_pr_isids; 663 int enforce_pr_isids;
664 int is_nonrot; 664 int is_nonrot;
665 int emulate_rest_reord;
665 u32 hw_block_size; 666 u32 hw_block_size;
666 u32 block_size; 667 u32 block_size;
667 u32 hw_max_sectors; 668 u32 hw_max_sectors;
diff --git a/include/target/target_core_device.h b/include/target/target_core_device.h
index f3b6ae655454..46571912086c 100644
--- a/include/target/target_core_device.h
+++ b/include/target/target_core_device.h
@@ -40,6 +40,7 @@ extern int se_dev_set_emulate_tpu(struct se_device *, int);
40extern int se_dev_set_emulate_tpws(struct se_device *, int); 40extern int se_dev_set_emulate_tpws(struct se_device *, int);
41extern int se_dev_set_enforce_pr_isids(struct se_device *, int); 41extern int se_dev_set_enforce_pr_isids(struct se_device *, int);
42extern int se_dev_set_is_nonrot(struct se_device *, int); 42extern int se_dev_set_is_nonrot(struct se_device *, int);
43extern int se_dev_set_emulate_rest_reord(struct se_device *dev, int);
43extern int se_dev_set_queue_depth(struct se_device *, u32); 44extern int se_dev_set_queue_depth(struct se_device *, u32);
44extern int se_dev_set_max_sectors(struct se_device *, u32); 45extern int se_dev_set_max_sectors(struct se_device *, u32);
45extern int se_dev_set_optimal_sectors(struct se_device *, u32); 46extern int se_dev_set_optimal_sectors(struct se_device *, u32);
diff --git a/include/target/target_core_transport.h b/include/target/target_core_transport.h
index 54af39d8e3fb..f41b07c7401e 100644
--- a/include/target/target_core_transport.h
+++ b/include/target/target_core_transport.h
@@ -103,6 +103,8 @@
103#define DA_STATUS_MAX_SECTORS_MAX 8192 103#define DA_STATUS_MAX_SECTORS_MAX 8192
104/* By default don't report non-rotating (solid state) medium */ 104/* By default don't report non-rotating (solid state) medium */
105#define DA_IS_NONROT 0 105#define DA_IS_NONROT 0
106/* Queue Algorithm Modifier default for restricted reordering in control mode page */
107#define DA_EMULATE_REST_REORD 0
106 108
107#define SE_MODE_PAGE_BUF 512 109#define SE_MODE_PAGE_BUF 512
108 110