mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 21:55:25 +00:00
scsi: Change order of checks in createVport
Move the check for an already existing vHBA to the top of the function. No sense in first decoding a provided parent if the next thing we're going to do is fail if a provided wwnn/wwpn already exists. Signed-off-by: John Ferlan <jferlan@redhat.com>
This commit is contained in:
parent
79ab093518
commit
476ecf2a2a
@ -706,20 +706,6 @@ createVport(virConnectPtr conn,
|
||||
conn, NULLSTR(configFile), NULLSTR(adapter->data.fchost.parent),
|
||||
adapter->data.fchost.wwnn, adapter->data.fchost.wwpn);
|
||||
|
||||
/* If a parent was provided, then let's make sure it's vhost capable */
|
||||
if (adapter->data.fchost.parent) {
|
||||
if (virGetSCSIHostNumber(adapter->data.fchost.parent, &parent_host) < 0)
|
||||
return -1;
|
||||
|
||||
if (!virIsCapableFCHost(NULL, parent_host)) {
|
||||
virReportError(VIR_ERR_XML_ERROR,
|
||||
_("parent '%s' specified for vHBA "
|
||||
"is not vport capable"),
|
||||
adapter->data.fchost.parent);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/* If we find an existing HBA/vHBA within the fc_host sysfs
|
||||
* using the wwnn/wwpn, then a nodedev is already created for
|
||||
* this pool and we don't have to create the vHBA
|
||||
@ -736,6 +722,20 @@ createVport(virConnectPtr conn,
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
/* If a parent was provided, then let's make sure it's vhost capable */
|
||||
if (adapter->data.fchost.parent) {
|
||||
if (virGetSCSIHostNumber(adapter->data.fchost.parent, &parent_host) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (!virIsCapableFCHost(NULL, parent_host)) {
|
||||
virReportError(VIR_ERR_XML_ERROR,
|
||||
_("parent '%s' specified for vHBA "
|
||||
"is not vport capable"),
|
||||
adapter->data.fchost.parent);
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
|
||||
if (!adapter->data.fchost.parent) {
|
||||
if (!(parent_hoststr = virFindFCHostCapableVport(NULL))) {
|
||||
virReportError(VIR_ERR_XML_ERROR, "%s",
|
||||
|
Loading…
Reference in New Issue
Block a user