ibmvscsis: Use tpgt passed in by user

ibmvscsis always returned 0 for the tpg/tag, since it did not
parse the value passed in by the user.

When functions like ALUA members exports the value, it will
be incorrect because targetcli/rtslib starts the tpg numbering
at 1.

Signed-off-by: Bryant G. Ly <bryantly@linux.vnet.ibm.com>
Signed-off-by: Mike Christie <mchristi@redhat.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
This commit is contained in:
Bryant G. Ly 2017-06-06 15:45:49 -05:00 committed by Nicholas Bellinger
parent 8fa4011e0d
commit e9447a46e9
1 changed files with 8 additions and 0 deletions

View File

@ -3914,8 +3914,16 @@ static struct se_portal_group *ibmvscsis_make_tpg(struct se_wwn *wwn,
{ {
struct ibmvscsis_tport *tport = struct ibmvscsis_tport *tport =
container_of(wwn, struct ibmvscsis_tport, tport_wwn); container_of(wwn, struct ibmvscsis_tport, tport_wwn);
u16 tpgt;
int rc; int rc;
if (strstr(name, "tpgt_") != name)
return ERR_PTR(-EINVAL);
rc = kstrtou16(name + 5, 0, &tpgt);
if (rc)
return ERR_PTR(rc);
tport->tport_tpgt = tpgt;
tport->releasing = false; tport->releasing = false;
rc = core_tpg_register(&tport->tport_wwn, &tport->se_tpg, rc = core_tpg_register(&tport->tport_wwn, &tport->se_tpg,