diff options
author | Nicholas Bellinger <nab@daterainc.com> | 2013-08-22 18:35:45 -0400 |
---|---|---|
committer | Nicholas Bellinger <nab@linux-iscsi.org> | 2013-09-10 19:48:42 -0400 |
commit | 89c12cc925a7d0982dc53b743a42108acc76aef4 (patch) | |
tree | 8b923abc646a3ea8f14ab0e792ac68b20a1ce021 /drivers/target | |
parent | d9ea32bff2c55d4cd4654f1e98d269a758f34534 (diff) |
target: Avoid non-existent tg_pt_gp_mem in target_alua_state_check
This patch adds an check for a non-existent port->sep_alua_tg_pt_gp_mem
within target_alua_state_check(), which is not present for internally
dispatched EXTENDED_COPY WRITE I/O to the destination target port.
Cc: Christoph Hellwig <hch@lst.de>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Martin Petersen <martin.petersen@oracle.com>
Cc: Chris Mason <chris.mason@fusionio.com>
Cc: Roland Dreier <roland@purestorage.com>
Cc: Zach Brown <zab@redhat.com>
Cc: James Bottomley <JBottomley@Parallels.com>
Cc: Nicholas Bellinger <nab@linux-iscsi.org>
Signed-off-by: Nicholas Bellinger <nab@daterainc.com>
Diffstat (limited to 'drivers/target')
-rw-r--r-- | drivers/target/target_core_alua.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/target/target_core_alua.c b/drivers/target/target_core_alua.c index 5403186e4777..ea928c4d8854 100644 --- a/drivers/target/target_core_alua.c +++ b/drivers/target/target_core_alua.c | |||
@@ -557,6 +557,9 @@ target_alua_state_check(struct se_cmd *cmd) | |||
557 | * a ALUA logical unit group. | 557 | * a ALUA logical unit group. |
558 | */ | 558 | */ |
559 | tg_pt_gp_mem = port->sep_alua_tg_pt_gp_mem; | 559 | tg_pt_gp_mem = port->sep_alua_tg_pt_gp_mem; |
560 | if (!tg_pt_gp_mem) | ||
561 | return 0; | ||
562 | |||
560 | spin_lock(&tg_pt_gp_mem->tg_pt_gp_mem_lock); | 563 | spin_lock(&tg_pt_gp_mem->tg_pt_gp_mem_lock); |
561 | tg_pt_gp = tg_pt_gp_mem->tg_pt_gp; | 564 | tg_pt_gp = tg_pt_gp_mem->tg_pt_gp; |
562 | out_alua_state = atomic_read(&tg_pt_gp->tg_pt_gp_alua_access_state); | 565 | out_alua_state = atomic_read(&tg_pt_gp->tg_pt_gp_alua_access_state); |