scst: Avoid that adding an initiator to an initiator group can trigger a kernel warning (merge r4467 from trunk)

git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/2.2.x@5051 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
Bart Van Assche
2013-10-08 16:47:58 +00:00
parent dba17c0dee
commit f0ca74fc50

View File

@@ -1722,7 +1722,7 @@ static void scst_check_reassign_sess(struct scst_session *sess)
struct list_head *head;
struct scst_tgt_dev *tgt_dev;
bool luns_changed = false;
bool add_failed, something_freed, not_needed_freed = false;
bool add_failed, something_freed;
TRACE_ENTRY();
@@ -1747,7 +1747,7 @@ static void scst_check_reassign_sess(struct scst_session *sess)
retry_add:
add_failed = false;
list_for_each_entry(acg_dev, &acg->acg_dev_list, acg_dev_list_entry) {
unsigned int inq_changed_ua_needed = 0;
bool inq_changed_ua_needed = false;
for (i = 0; i < SESS_TGT_DEV_LIST_HASH_SIZE; i++) {
head = &sess->sess_tgt_dev_list[i];
@@ -1763,8 +1763,13 @@ retry_add:
(unsigned long long)tgt_dev->lun);
tgt_dev->acg_dev = acg_dev;
goto next;
} else if (tgt_dev->lun == acg_dev->lun)
} else if (tgt_dev->lun == acg_dev->lun) {
TRACE_MGMT_DBG("Replacing LUN %lld",
(long long)tgt_dev->lun);
scst_free_tgt_dev(tgt_dev);
inq_changed_ua_needed = 1;
break;
}
}
}
@@ -1781,14 +1786,12 @@ retry_add:
break;
}
tgt_dev->inq_changed_ua_needed = inq_changed_ua_needed ||
not_needed_freed;
tgt_dev->inq_changed_ua_needed = inq_changed_ua_needed;
next:
continue;
}
something_freed = false;
not_needed_freed = true;
for (i = 0; i < SESS_TGT_DEV_LIST_HASH_SIZE; i++) {
struct scst_tgt_dev *t;
head = &sess->sess_tgt_dev_list[i];