diff options
author | Nicholas Bellinger <nab@linux-iscsi.org> | 2011-07-17 05:57:58 -0400 |
---|---|---|
committer | Nicholas Bellinger <nab@linux-iscsi.org> | 2011-07-22 05:37:49 -0400 |
commit | 5de619a31d9cb051d1f818e661af4e54def82316 (patch) | |
tree | bbdf282c42fe3818607fff4f3a4f7d1b74ee064e /include/target | |
parent | 1d20bb6147954d4fbd337a3d1b40c7eeae254cd7 (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.h | 1 | ||||
-rw-r--r-- | include/target/target_core_device.h | 1 | ||||
-rw-r--r-- | include/target/target_core_transport.h | 2 |
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); | |||
40 | extern int se_dev_set_emulate_tpws(struct se_device *, int); | 40 | extern int se_dev_set_emulate_tpws(struct se_device *, int); |
41 | extern int se_dev_set_enforce_pr_isids(struct se_device *, int); | 41 | extern int se_dev_set_enforce_pr_isids(struct se_device *, int); |
42 | extern int se_dev_set_is_nonrot(struct se_device *, int); | 42 | extern int se_dev_set_is_nonrot(struct se_device *, int); |
43 | extern int se_dev_set_emulate_rest_reord(struct se_device *dev, int); | ||
43 | extern int se_dev_set_queue_depth(struct se_device *, u32); | 44 | extern int se_dev_set_queue_depth(struct se_device *, u32); |
44 | extern int se_dev_set_max_sectors(struct se_device *, u32); | 45 | extern int se_dev_set_max_sectors(struct se_device *, u32); |
45 | extern int se_dev_set_optimal_sectors(struct se_device *, u32); | 46 | extern 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 | ||