[libvirt] [PATCH v6 1/6] conf: Add a keyboard input device type
Li Zhang
zhlcindy at gmail.com
Mon Feb 17 02:54:37 UTC 2014
On 2014年02月14日 17:36, Ján Tomko wrote:
> 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.
I see. I will add this device when this flag is not set. :)
>
> Jan
>
More information about the libvir-list
mailing list