aboutsummaryrefslogtreecommitdiffstats
path: root/include/target
diff options
context:
space:
mode:
authorHannes Reinecke <hare@suse.de>2013-12-17 03:18:49 -0500
committerNicholas Bellinger <nab@linux-iscsi.org>2014-01-10 00:48:17 -0500
commitc66094bf325ee406b92298d73089ee25484a0263 (patch)
treecfa2fb231dbd3e120ad2d75f96c250c24233978a /include/target
parentfbfe858fea2a45df6339eb03dd1715b51f1bdc92 (diff)
target_core_alua: Referrals infrastructure
Add infrastructure for referrals. v2 changes: - Fix unsigned long long division in core_alua_state_lba_dependent on 32-bit (Fengguang + Chen + Hannes) - Fix compile warning in core_alua_state_lba_dependent (nab) - Convert segment_* + sectors variables in core_alua_state_lba_dependent to u64 (Hannes) Signed-off-by: Hannes Reinecke <hare@suse.de> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'include/target')
-rw-r--r--include/target/target_core_base.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/target/target_core_base.h b/include/target/target_core_base.h
index 6c8001516c6d..1ba19a4bec33 100644
--- a/include/target/target_core_base.h
+++ b/include/target/target_core_base.h
@@ -247,10 +247,28 @@ typedef enum {
247 247
248struct se_cmd; 248struct se_cmd;
249 249
250struct t10_alua_lba_map_member {
251 struct list_head lba_map_mem_list;
252 int lba_map_mem_alua_state;
253 int lba_map_mem_alua_pg_id;
254};
255
256struct t10_alua_lba_map {
257 u64 lba_map_first_lba;
258 u64 lba_map_last_lba;
259 struct list_head lba_map_list;
260 struct list_head lba_map_mem_list;
261};
262
250struct t10_alua { 263struct t10_alua {
251 /* ALUA Target Port Group ID */ 264 /* ALUA Target Port Group ID */
252 u16 alua_tg_pt_gps_counter; 265 u16 alua_tg_pt_gps_counter;
253 u32 alua_tg_pt_gps_count; 266 u32 alua_tg_pt_gps_count;
267 /* Referrals support */
268 spinlock_t lba_map_lock;
269 u32 lba_map_segment_size;
270 u32 lba_map_segment_multiplier;
271 struct list_head lba_map_list;
254 spinlock_t tg_pt_gps_lock; 272 spinlock_t tg_pt_gps_lock;
255 struct se_device *t10_dev; 273 struct se_device *t10_dev;
256 /* Used for default ALUA Target Port Group */ 274 /* Used for default ALUA Target Port Group */