[libvirt] [PATCH] conf: fix cannot get mutli value settings when parse controllers XML
lhuang
lhuang at redhat.com
Wed Jan 7 10:00:24 UTC 2015
On 01/07/2015 05:54 PM, Peter Krempa wrote:
> On 01/07/15 10:36, Luyao Huang wrote:
>> We will free the old parameter value settings in next loop when we
>> get scsi controller's driver specific options.
> This description doesn't really explain what is the actual problem you
> are fixing.
>
> Please be more specific and as this is in the XML parsing code it should
> be fairly easy to do a test case for the scenario.
>
OK, i will give a better description in next version.
>> Signed-off-by: Luyao Huang <lhuang at redhat.com>
>> ---
>> src/conf/domain_conf.c | 16 +++++++++++++---
>> 1 file changed, 13 insertions(+), 3 deletions(-)
>>
>> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
>> index b9858cd..f7b4a7c 100644
>> --- a/src/conf/domain_conf.c
>> +++ b/src/conf/domain_conf.c
>> @@ -6870,11 +6870,21 @@ virDomainControllerDefParseXML(xmlNodePtr node,
>>
>> cur = node->children;
>> while (cur != NULL) {
>> + char *queues2 = NULL;
>> + char *cmd_per_lun2 = NULL;
>> + char *max_sectors2 = NULL;
>> +
>> if (cur->type == XML_ELEMENT_NODE) {
>> if (xmlStrEqual(cur->name, BAD_CAST "driver")) {
>> - queues = virXMLPropString(cur, "queues");
>> - cmd_per_lun = virXMLPropString(cur, "cmd_per_lun");
>> - max_sectors = virXMLPropString(cur, "max_sectors");
>> + queues2 = virXMLPropString(cur, "queues");
>> + if (queues2)
>> + queues = queues2;
>> + cmd_per_lun2 = virXMLPropString(cur, "cmd_per_lun");
>> + if (cmd_per_lun2)
>> + cmd_per_lun = cmd_per_lun2;
>> + max_sectors2 = virXMLPropString(cur, "max_sectors");
>> + if (max_sectors2)
>> + max_sectors = max_sectors2;
>> }
>> }
>> cur = cur->next;
>>
> Without a proper explanation it's hard to see if the fix is right.
>
> Peter
I found another way to fix this issue, please ignore this patch and i
will give another one.
>
Luyao
More information about the libvir-list
mailing list