[libvirt] [PATCH v3] qemu: avoid slash characters to the new domain name.
Julio Faracco
jcfaracco at gmail.com
Mon Apr 30 18:28:58 UTC 2018
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 at 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 at 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 at 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,
>>
More information about the libvir-list
mailing list