提交 78490acc 编写于 作者: M Michal Privoznik

storageVolCreateXML: Swap order of two operations

Firstly, we realloc internal list to hold new item (=volume that
will be potentially created) and then we check whether we
actually know how to create it. If we don't we consume more
memory than we really need for no good reason.
Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
上级 64e66d8e
......@@ -1856,10 +1856,6 @@ storageVolCreateXML(virStoragePoolPtr obj,
goto cleanup;
}
if (VIR_REALLOC_N(pool->volumes.objs,
pool->volumes.count+1) < 0)
goto cleanup;
if (!backend->createVol) {
virReportError(VIR_ERR_NO_SUPPORT,
"%s", _("storage pool does not support volume "
......@@ -1867,6 +1863,10 @@ storageVolCreateXML(virStoragePoolPtr obj,
goto cleanup;
}
if (VIR_REALLOC_N(pool->volumes.objs,
pool->volumes.count+1) < 0)
goto cleanup;
/* Wipe any key the user may have suggested, as volume creation
* will generate the canonical key. */
VIR_FREE(voldef->key);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册