Hi John,
Thanks for your comments.
Probably, this is a requirement for test driver too.
See my tests:
# virsh -c test:///default
virsh # shutdown test
Domain test is being shutdown
virsh # domrename test /
Domain successfully renamed
virsh # start /
error: Failed to start domain /
error: XML error: name / cannot contain '/'
The same behavior of QEMU driver.
--
Julio Cesar Faracco
2018-04-30 10:23 GMT-03:00 John Ferlan <jferlan(a)redhat.com>:
On 04/23/2018 09:26 PM, Julio Faracco wrote:
> The 'domrename' command needs to check if the new domain name contains
> the slash character. This character is not accepted by libvirt XML
> definition because it is an invalid char (see Cole's commit b1fc6a7b7).
> This commit enhace the 'domrename' command adding this check.
>
> Resolves:
https://bugzilla.redhat.com/show_bug.cgi?id=1333232
>
> Signed-off-by: Julio Faracco <jcfaracco(a)gmail.com>
> ---
> src/qemu/qemu_driver.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
The change/check could have gone right after virCheckFlags and used
@new_name (we're already guaranteed @new_name is not NULL from the
virDomainRename API) and just return -1 directly.
Reviewed-by: John Ferlan <jferlan(a)redhat.com>
John
I will push after the freeze. If you'd like I can also move the check.
> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
> index 7484b00e2..70ae18524 100644
> --- a/src/qemu/qemu_driver.c
> +++ b/src/qemu/qemu_driver.c
> @@ -20757,6 +20757,12 @@ qemuDomainRenameCallback(virDomainObjPtr vm,
> if (VIR_STRDUP(new_dom_name, new_name) < 0)
> goto cleanup;
>
> + if (strchr(new_dom_name, '/')) {
> + virReportError(VIR_ERR_XML_ERROR,
> + _("name %s cannot contain '/'"),
new_dom_name);
> + goto cleanup;
> + }
> +
> if (!(new_dom_cfg_file = virDomainConfigFile(cfg->configDir,
> new_dom_name)) ||
> !(old_dom_cfg_file = virDomainConfigFile(cfg->configDir,
>