提交 c7596cf0 编写于 作者: M Martin Kletzander

qemu: Report better error message when renaming to existing domain name

Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
上级 7b5acf94
......@@ -19907,6 +19907,7 @@ static int qemuDomainRename(virDomainPtr dom,
virQEMUDriverPtr driver = dom->conn->privateData;
virQEMUDriverConfigPtr cfg = NULL;
virDomainObjPtr vm = NULL;
virDomainObjPtr tmp_dom = NULL;
virObjectEventPtr event_new = NULL;
virObjectEventPtr event_old = NULL;
int ret = -1;
......@@ -19961,6 +19962,21 @@ static int qemuDomainRename(virDomainPtr dom,
goto endjob;
}
/*
* This is a rather racy check, but still better than reporting
* internal error. And since new_name != name here, there's no
* deadlock imminent.
*/
tmp_dom = virDomainObjListFindByName(driver->domains, new_name);
if (tmp_dom) {
virObjectUnlock(tmp_dom);
virObjectUnref(tmp_dom);
virReportError(VIR_ERR_OPERATION_INVALID,
_("domain with name '%s' already exists"),
new_name);
goto endjob;
}
if (VIR_STRDUP(new_dom_name, new_name) < 0)
goto endjob;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册