diff options
author | Nicholas Bellinger <nab@linux-iscsi.org> | 2014-10-03 21:06:08 -0400 |
---|---|---|
committer | Nicholas Bellinger <nab@linux-iscsi.org> | 2014-10-04 01:41:20 -0400 |
commit | 92404e609a2dffc55a9a22540ed48b6f0edc9c59 (patch) | |
tree | f815d53d2611a9b0cab864fc70bcffc26c8f043b /include/target | |
parent | e24805637d2d270d7975502e9024d473de86afdb (diff) |
target: Add force_pr_aptpl device attribute
This patch adds a force_pr_aptpl device attribute used to force SPC-3 PR
Activate Persistence across Target Power Loss (APTPL) operation. This
makes PR metadata write-out occur during state change regardless if new
PERSISTENT_RESERVE_OUT CDBs have their APTPL feature bit set.
This is useful during H/A failover in active/passive setups where all PR
state is being re-created on a different node, driven by configfs backend
device + export layout and pre-loaded $DEV/pr/res_aptpl_metadata.
Cc: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'include/target')
-rw-r--r-- | include/target/target_core_base.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/target/target_core_base.h b/include/target/target_core_base.h index b106240d8385..23c518a0340c 100644 --- a/include/target/target_core_base.h +++ b/include/target/target_core_base.h | |||
@@ -108,6 +108,8 @@ | |||
108 | #define DA_EMULATE_ALUA 0 | 108 | #define DA_EMULATE_ALUA 0 |
109 | /* Enforce SCSI Initiator Port TransportID with 'ISID' for PR */ | 109 | /* Enforce SCSI Initiator Port TransportID with 'ISID' for PR */ |
110 | #define DA_ENFORCE_PR_ISIDS 1 | 110 | #define DA_ENFORCE_PR_ISIDS 1 |
111 | /* Force SPC-3 PR Activate Persistence across Target Power Loss */ | ||
112 | #define DA_FORCE_PR_APTPL 0 | ||
111 | #define DA_STATUS_MAX_SECTORS_MIN 16 | 113 | #define DA_STATUS_MAX_SECTORS_MIN 16 |
112 | #define DA_STATUS_MAX_SECTORS_MAX 8192 | 114 | #define DA_STATUS_MAX_SECTORS_MAX 8192 |
113 | /* By default don't report non-rotating (solid state) medium */ | 115 | /* By default don't report non-rotating (solid state) medium */ |
@@ -680,6 +682,7 @@ struct se_dev_attrib { | |||
680 | enum target_prot_type pi_prot_type; | 682 | enum target_prot_type pi_prot_type; |
681 | enum target_prot_type hw_pi_prot_type; | 683 | enum target_prot_type hw_pi_prot_type; |
682 | int enforce_pr_isids; | 684 | int enforce_pr_isids; |
685 | int force_pr_aptpl; | ||
683 | int is_nonrot; | 686 | int is_nonrot; |
684 | int emulate_rest_reord; | 687 | int emulate_rest_reord; |
685 | u32 hw_block_size; | 688 | u32 hw_block_size; |