[libvirt] [PATCH v6 1/6] conf: Add a keyboard input device type

Ján Tomko jtomko at redhat.com
Fri Feb 14 09:36:22 UTC 2014


On 02/14/2014 10:02 AM, Li Zhang wrote:
> On 2014年02月14日 00:39, Daniel P. Berrange wrote:
>> On Thu, Feb 13, 2014 at 04:48:21PM +0800, Li Zhang wrote:
>>
>>> @@ -12422,10 +12426,12 @@ virDomainDefParseXML(xmlDocPtr xml,
>>>            * XXX will this be true for other virt types ? */
>>>           if ((STREQ(def->os.type, "hvm") &&
>>>                input->bus == VIR_DOMAIN_INPUT_BUS_PS2 &&
>>> -             input->type == VIR_DOMAIN_INPUT_TYPE_MOUSE) ||
>>> +             (input->type == VIR_DOMAIN_INPUT_TYPE_MOUSE ||
>>> +              input->type == VIR_DOMAIN_INPUT_TYPE_KBD)) ||
>>>               (STRNEQ(def->os.type, "hvm") &&
>>>                input->bus == VIR_DOMAIN_INPUT_BUS_XEN &&
>>> -             input->type == VIR_DOMAIN_INPUT_TYPE_MOUSE)) {
>>> +             (input->type == VIR_DOMAIN_INPUT_TYPE_MOUSE ||
>>> +              input->type == VIR_DOMAIN_INPUT_TYPE_KBD))) {
>>>               virDomainInputDefFree(input);
>>>               continue;
>> Later on in this function there is
>>
>>      /* If graphics are enabled, there's an implicit PS2 mouse */
>>      if (def->ngraphics > 0) {
>>          virDomainInputDefPtr input;
>>
>>          if (VIR_ALLOC(input) < 0) {
>>              goto error;
>>          }
>>          if (STREQ(def->os.type, "hvm")) {
>>              input->type = VIR_DOMAIN_INPUT_TYPE_MOUSE;
>>              input->bus = VIR_DOMAIN_INPUT_BUS_PS2;
>>          } else {
>>              input->type = VIR_DOMAIN_INPUT_TYPE_MOUSE;
>>              input->bus = VIR_DOMAIN_INPUT_BUS_XEN;
>>          }
>>
>>          if (VIR_REALLOC_N(def->inputs, def->ninputs + 1) < 0) {
>>              virDomainInputDefFree(input);
>>              goto error;
>>          }
>>          def->inputs[def->ninputs] = input;
>>          def->ninputs++;
>>      }
>>
>>
>> which needs to take care of keyboards too now.
>>
>> And some more similar logic in virDomainDefFormatInternal
>> which needs updating
> 
> I have add the keyboard device in this function in this version [3/6].
> 
> But Jan suggested to remove it from  virDomainDefFormatInternal in v5.
> Because it would make the XML unreadable by older libvirtd that didn't know
> the keyboard input type.
> 

Sorry about that,

it seems we only care about XML to be readable by older libvirt if
virDomainDefFormat* is called with the
VIR_DOMAIN_XML_MIGRATABLE flag, so we can safely format it when this flag is
not set.

Jan

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140214/3ca50731/attachment-0001.sig>


More information about the libvir-list mailing list