Remove duplicated code - make one path through
Signed-off-by: John Ferlan <jferlan(a)redhat.com>
---
src/storage/storage_backend_scsi.c | 35 +++++++++++------------------------
1 file changed, 11 insertions(+), 24 deletions(-)
diff --git a/src/storage/storage_backend_scsi.c b/src/storage/storage_backend_scsi.c
index 9863880..df48b1a 100644
--- a/src/storage/storage_backend_scsi.c
+++ b/src/storage/storage_backend_scsi.c
@@ -722,39 +722,26 @@ 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)
- 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 (!adapter->data.fchost.parent) {
+ if (VIR_STRDUP(parent_hoststr, adapter->data.fchost.parent) < 0)
+ goto cleanup;
+ } 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;
+ if (virGetSCSIHostNumber(parent_hoststr, &parent_host) < 0)
+ goto cleanup;
- /* NOTE:
- * We do not save the parent_hoststr in adapter->data.fchost.parent
- * since we could be writing out the 'def' to the saved XML config.
- * If we wrote out the name in the XML, then future starts would
- * always use the same parent rather than finding the "best available"
- * 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
--
2.7.4