提交 9fdc8c42 编写于 作者: J John Ferlan

scsi: Converge more createVport checks

Remove duplicated code - make one simple path through
Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
上级 476ecf2a
......@@ -722,27 +722,17 @@ 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)
if (VIR_STRDUP(parent_hoststr, adapter->data.fchost.parent) < 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) {
} else {
if (!(parent_hoststr = virFindFCHostCapableVport(NULL))) {
virReportError(VIR_ERR_XML_ERROR, "%s",
_("'parent' for vHBA not specified, and "
"cannot find one on this host"));
goto cleanup;
}
}
if (virGetSCSIHostNumber(parent_hoststr, &parent_host) < 0)
goto cleanup;
......@@ -755,6 +745,11 @@ createVport(virConnectPtr conn,
* parent. Besides we have a way to determine the parent based on
* the 'name' field.
*/
if (adapter->data.fchost.parent && !virIsCapableFCHost(NULL, parent_host)) {
virReportError(VIR_ERR_XML_ERROR,
_("parent '%s' specified for vHBA is not vport capable"),
parent_hoststr);
goto cleanup;
}
/* Since we're creating the vHBA, then we need to manage removing it
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册