Skip to content

Commit

Permalink
target: Send UA on ALUA target port group change
Browse files Browse the repository at this point in the history
When the ALUA target port group changes an INQUIRY DATA CHANGE
UA needs to be sent.

Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
  • Loading branch information
Hannes Reinecke authored and Nicholas Bellinger committed Jun 23, 2015
1 parent 1adff1b commit 3dd348f
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 0 deletions.
7 changes: 7 additions & 0 deletions drivers/target/target_core_alua.c
Original file line number Diff line number Diff line change
Expand Up @@ -1880,12 +1880,19 @@ static void core_alua_put_tg_pt_gp_from_name(
static void __target_attach_tg_pt_gp(struct se_lun *lun,
struct t10_alua_tg_pt_gp *tg_pt_gp)
{
struct se_dev_entry *se_deve;

assert_spin_locked(&lun->lun_tg_pt_gp_lock);

spin_lock(&tg_pt_gp->tg_pt_gp_lock);
lun->lun_tg_pt_gp = tg_pt_gp;
list_add_tail(&lun->lun_tg_pt_gp_link, &tg_pt_gp->tg_pt_gp_lun_list);
tg_pt_gp->tg_pt_gp_members++;
spin_lock(&lun->lun_deve_lock);
list_for_each_entry(se_deve, &lun->lun_deve_list, lun_link)
core_scsi3_ua_allocate(se_deve, 0x3f,
ASCQ_3FH_INQUIRY_DATA_HAS_CHANGED);
spin_unlock(&lun->lun_deve_lock);
spin_unlock(&tg_pt_gp->tg_pt_gp_lock);
}

Expand Down
2 changes: 2 additions & 0 deletions drivers/target/target_core_ua.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@

#define ASCQ_2CH_PREVIOUS_RESERVATION_CONFLICT_STATUS 0x09

#define ASCQ_3FH_INQUIRY_DATA_HAS_CHANGED 0x03

extern struct kmem_cache *se_ua_cache;

extern sense_reason_t target_scsi3_ua_check(struct se_cmd *);
Expand Down

0 comments on commit 3dd348f

Please sign in to comment.