[libvirt] [PATCHv2 2/3] qemu: add capability check for memballoon 'autodeflate' feature

John Ferlan jferlan at redhat.com
Tue Jan 5 16:12:51 UTC 2016



On 12/23/2015 07:33 AM, Dmitry Andreev wrote:
> New attribute 'autodeflate' for memballoon was introduced. This
> commit adds appropriate capability check and new virQEMUCaps flag.


So I see from these changes and the qemu sources, the feature was added
in QEMU 2.4; however, your cover letter indicates "the new feature
'deflate-on-oom' that has been added to the QEMU virtio memory balloon a
month ago."...  Since 2.5 was recently released it seems a bit more than
a month ago...

In any case, perhaps it's best to pull in that cover letter info into
here (e.g at least the link to the qemu commit) so it's not just on
libvir-list.

> ---
>  src/qemu/qemu_capabilities.c                     |  11 ++
>  src/qemu/qemu_capabilities.h                     |   2 +

>  tests/qemucapabilitiesdata/caps_1.2.2-1.replies  |  68 +++++++++-
>  tests/qemucapabilitiesdata/caps_1.3.1-1.replies  |  68 +++++++++-
>  tests/qemucapabilitiesdata/caps_1.4.2-1.replies  |  68 +++++++++-
>  tests/qemucapabilitiesdata/caps_1.5.3-1.replies  |  66 +++++++++-
>  tests/qemucapabilitiesdata/caps_1.6.0-1.replies  |  66 +++++++++-
>  tests/qemucapabilitiesdata/caps_1.6.50-1.replies |  66 +++++++++-
>  tests/qemucapabilitiesdata/caps_2.1.1-1.replies  |  78 ++++++++++-
>  tests/qemucapabilitiesdata/caps_2.4.0-1.caps     |   1 +
>  tests/qemucapabilitiesdata/caps_2.4.0-1.replies  | 146 +++++++++++++++++++-
>  tests/qemucapabilitiesdata/caps_2.5.0-1.caps     |   1 +
>  tests/qemucapabilitiesdata/caps_2.5.0-1.replies  | 161 ++++++++++++++++++++++-
>  13 files changed, 739 insertions(+), 63 deletions(-)
> 

Since commit id '429b421' there's a 2.6.0-1 'caps' and 'replies' which
you'll need to adjust as well.

John
> diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
> index 6e5d203..74decbb 100644
> --- a/src/qemu/qemu_capabilities.c
> +++ b/src/qemu/qemu_capabilities.c
> @@ -308,6 +308,7 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST,
>  
>                "virtio-tablet", /* 205 */
>                "virtio-input-host",
> +              "virtio-balloon-pci.deflate-on-oom",
>      );
>  
>  
> @@ -1562,6 +1563,10 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[] = {
>      { "virtio-input-host-pci", QEMU_CAPS_VIRTIO_INPUT_HOST },
>  };
>  
> +static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsVirtioBalloon[] = {
> +    { "deflate-on-oom", QEMU_CAPS_VIRTIO_BALLOON_AUTODEFLATE },
> +};
> +
>  static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsVirtioBlk[] = {
>      { "multifunction", QEMU_CAPS_PCI_MULTIFUNCTION },
>      { "bootindex", QEMU_CAPS_BOOTINDEX },
> @@ -1704,6 +1709,12 @@ static struct virQEMUCapsObjectTypeProps virQEMUCapsObjectProps[] = {
>        ARRAY_CARDINALITY(virQEMUCapsObjectPropsQxlVga) },
>      { "virtio-gpu-pci", virQEMUCapsObjectPropsVirtioGpu,
>        ARRAY_CARDINALITY(virQEMUCapsObjectPropsVirtioGpu) },
> +    { "virtio-balloon-pci", virQEMUCapsObjectPropsVirtioBalloon,
> +      ARRAY_CARDINALITY(virQEMUCapsObjectPropsVirtioBalloon) },
> +    { "virtio-balloon-ccw", virQEMUCapsObjectPropsVirtioBalloon,
> +      ARRAY_CARDINALITY(virQEMUCapsObjectPropsVirtioBalloon) },
> +    { "virtio-balloon-device", virQEMUCapsObjectPropsVirtioBalloon,
> +      ARRAY_CARDINALITY(virQEMUCapsObjectPropsVirtioBalloon) },
>  };
>  
>  
> diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
> index 61d6379..d76aa5a 100644
> --- a/src/qemu/qemu_capabilities.h
> +++ b/src/qemu/qemu_capabilities.h
> @@ -335,6 +335,8 @@ typedef enum {
>      /* 205 */
>      QEMU_CAPS_VIRTIO_TABLET, /* -device virtio-tablet-{device,pci} */
>      QEMU_CAPS_VIRTIO_INPUT_HOST, /* -device virtio-input-host-{device,pci} */
> +    QEMU_CAPS_VIRTIO_BALLOON_AUTODEFLATE, /* virtio-balloon-{device,pci,ccw}.
> +                                           * deflate-on-oom */
>  
>      QEMU_CAPS_LAST /* this must always be the last item */
>  } virQEMUCapsFlags;
> diff --git a/tests/qemucapabilitiesdata/caps_1.2.2-1.replies b/tests/qemucapabilitiesdata/caps_1.2.2-1.replies
> index e7de77b..7e245c3 100644
> --- a/tests/qemucapabilitiesdata/caps_1.2.2-1.replies
> +++ b/tests/qemucapabilitiesdata/caps_1.2.2-1.replies
> @@ -1608,6 +1608,60 @@
>  {
>      "return": [
>          {
> +             "name": "command_serr_enable",
> +             "type": "on/off"
> +        },
> +        {
> +            "name": "multifunction",
> +            "type": "on/off"
> +        },
> +        {
> +            "name": "rombar",
> +            "type": "uint32"
> +        },
> +        {
> +            "name": "romfile",
> +            "type": "string"
> +        },
> +        {
> +            "name": "addr",
> +            "type": "pci-devfn"
> +        },
> +        {
> +            "name": "class",
> +            "type": "hex32"
> +        },
> +        {
> +            "name": "event_idx",
> +            "type": "on/off"
> +        },
> +        {
> +            "name": "indirect_desc",
> +            "type": "on/off"
> +        }
> +    ],
> +    "id": "libvirt-32"
> +}
> +
> +{
> +    "id": "libvirt-33",
> +    "error": {
> +        "class": "DeviceNotFound",
> +        "desc": "Device 'virtio-balloon-ccw' not found"
> +    }
> +}
> +
> +{
> +    "id": "libvirt-34",
> +    "error": {
> +        "class": "DeviceNotFound",
> +        "desc": "Device 'virtio-balloon-device' not found"
> +    }
> +}
> +
> +{
> +    "return": [
> +        {
>              "name": "xenpv"
>          },
>          {
> @@ -1649,7 +1703,7 @@
>              "name": "none"
>          }
>      ],
> -    "id": "libvirt-32"
> +    "id": "libvirt-35"
>  }
>  
>  {
> @@ -1721,7 +1775,7 @@
>              "name": "Opteron_G4"
>          }
>      ],
> -    "id": "libvirt-33"
> +    "id": "libvirt-36"
>  }
>  
>  {
> @@ -1729,11 +1783,11 @@
>          "enabled": false,
>          "present": true
>      },
> -    "id": "libvirt-34"
> +    "id": "libvirt-37"
>  }
>  
>  {
> -    "id": "libvirt-35",
> +    "id": "libvirt-38",
>      "error": {
>          "class": "CommandNotFound",
>          "desc": "The command query-tpm-models has not been found"
> @@ -1741,7 +1795,7 @@
>  }
>  
>  {
> -    "id": "libvirt-36",
> +    "id": "libvirt-39",
>      "error": {
>          "class": "CommandNotFound",
>          "desc": "The command query-tpm-types has not been found"
> @@ -1749,7 +1803,7 @@
>  }
>  
>  {
> -    "id": "libvirt-37",
> +    "id": "libvirt-40",
>      "error": {
>          "class": "CommandNotFound",
>          "desc": "The command query-command-line-options has not been found"
> @@ -1763,5 +1817,5 @@
>              "state": false
>          }
>      ],
> -    "id": "libvirt-38"
> +    "id": "libvirt-41"
>  }
> diff --git a/tests/qemucapabilitiesdata/caps_1.3.1-1.replies b/tests/qemucapabilitiesdata/caps_1.3.1-1.replies
> index bf9cbad..584778e 100644
> --- a/tests/qemucapabilitiesdata/caps_1.3.1-1.replies
> +++ b/tests/qemucapabilitiesdata/caps_1.3.1-1.replies
> @@ -1787,6 +1787,60 @@
>  {
>      "return": [
>          {
> +             "name": "command_serr_enable",
> +             "type": "on/off"
> +        },
> +        {
> +            "name": "multifunction",
> +            "type": "on/off"
> +        },
> +        {
> +            "name": "rombar",
> +            "type": "uint32"
> +        },
> +        {
> +            "name": "romfile",
> +            "type": "string"
> +        },
> +        {
> +            "name": "addr",
> +            "type": "pci-devfn"
> +        },
> +        {
> +            "name": "class",
> +            "type": "hex32"
> +        },
> +        {
> +            "name": "event_idx",
> +            "type": "on/off"
> +        },
> +        {
> +            "name": "indirect_desc",
> +            "type": "on/off"
> +        }
> +    ],
> +    "id": "libvirt-33"
> +}
> +
> +{
> +    "id": "libvirt-34",
> +    "error": {
> +        "class": "DeviceNotFound",
> +        "desc": "Device 'virtio-balloon-ccw' not found"
> +    }
> +}
> +
> +{
> +    "id": "libvirt-35",
> +    "error": {
> +        "class": "DeviceNotFound",
> +        "desc": "Device 'virtio-balloon-device' not found"
> +    }
> +}
> +
> +{
> +    "return": [
> +        {
>              "name": "xenpv"
>          },
>          {
> @@ -1835,7 +1889,7 @@
>              "name": "none"
>          }
>      ],
> -    "id": "libvirt-33"
> +    "id": "libvirt-36"
>  }
>  
>  {
> @@ -1913,7 +1967,7 @@
>              "name": "Opteron_G5"
>          }
>      ],
> -    "id": "libvirt-34"
> +    "id": "libvirt-37"
>  }
>  
>  {
> @@ -1921,11 +1975,11 @@
>          "enabled": false,
>          "present": true
>      },
> -    "id": "libvirt-35"
> +    "id": "libvirt-38"
>  }
>  
>  {
> -    "id": "libvirt-36",
> +    "id": "libvirt-39",
>      "error": {
>          "class": "CommandNotFound",
>          "desc": "The command query-tpm-models has not been found"
> @@ -1933,7 +1987,7 @@
>  }
>  
>  {
> -    "id": "libvirt-37",
> +    "id": "libvirt-40",
>      "error": {
>          "class": "CommandNotFound",
>          "desc": "The command query-tpm-types has not been found"
> @@ -1941,7 +1995,7 @@
>  }
>  
>  {
> -    "id": "libvirt-38",
> +    "id": "libvirt-41",
>      "error": {
>          "class": "CommandNotFound",
>          "desc": "The command query-command-line-options has not been found"
> @@ -1955,5 +2009,5 @@
>              "state": false
>          }
>      ],
> -    "id": "libvirt-39"
> +    "id": "libvirt-42"
>  }
> diff --git a/tests/qemucapabilitiesdata/caps_1.4.2-1.replies b/tests/qemucapabilitiesdata/caps_1.4.2-1.replies
> index bd7980f..410eb14 100644
> --- a/tests/qemucapabilitiesdata/caps_1.4.2-1.replies
> +++ b/tests/qemucapabilitiesdata/caps_1.4.2-1.replies
> @@ -1834,6 +1834,60 @@
>  {
>      "return": [
>          {
> +             "name": "command_serr_enable",
> +             "type": "on/off"
> +        },
> +        {
> +            "name": "multifunction",
> +            "type": "on/off"
> +        },
> +        {
> +            "name": "rombar",
> +            "type": "uint32"
> +        },
> +        {
> +            "name": "romfile",
> +            "type": "string"
> +        },
> +        {
> +            "name": "addr",
> +            "type": "pci-devfn"
> +        },
> +        {
> +            "name": "class",
> +            "type": "hex32"
> +        },
> +        {
> +            "name": "event_idx",
> +            "type": "on/off"
> +        },
> +        {
> +            "name": "indirect_desc",
> +            "type": "on/off"
> +        }
> +    ],
> +    "id": "libvirt-33"
> +}
> +
> +{
> +    "id": "libvirt-34",
> +    "error": {
> +        "class": "DeviceNotFound",
> +        "desc": "Device 'virtio-balloon-ccw' not found"
> +    }
> +}
> +
> +{
> +    "id": "libvirt-35",
> +    "error": {
> +        "class": "DeviceNotFound",
> +        "desc": "Device 'virtio-balloon-device' not found"
> +    }
> +}
> +
> +{
> +    "return": [
> +        {
>              "name": "xenpv"
>          },
>          {
> @@ -1885,7 +1939,7 @@
>              "name": "none"
>          }
>      ],
> -    "id": "libvirt-33"
> +    "id": "libvirt-36"
>  }
>  
>  {
> @@ -1963,7 +2017,7 @@
>              "name": "qemu64"
>          }
>      ],
> -    "id": "libvirt-34"
> +    "id": "libvirt-37"
>  }
>  
>  {
> @@ -1971,11 +2025,11 @@
>          "enabled": false,
>          "present": true
>      },
> -    "id": "libvirt-35"
> +    "id": "libvirt-38"
>  }
>  
>  {
> -    "id": "libvirt-36",
> +    "id": "libvirt-39",
>      "error": {
>          "class": "CommandNotFound",
>          "desc": "The command query-tpm-models has not been found"
> @@ -1983,7 +2037,7 @@
>  }
>  
>  {
> -    "id": "libvirt-37",
> +    "id": "libvirt-40",
>      "error": {
>          "class": "CommandNotFound",
>          "desc": "The command query-tpm-types has not been found"
> @@ -1991,7 +2045,7 @@
>  }
>  
>  {
> -    "id": "libvirt-38",
> +    "id": "libvirt-41",
>      "error": {
>          "class": "CommandNotFound",
>          "desc": "The command query-command-line-options has not been found"
> @@ -2005,5 +2059,5 @@
>              "state": false
>          }
>      ],
> -    "id": "libvirt-39"
> +    "id": "libvirt-42"
>  }
> diff --git a/tests/qemucapabilitiesdata/caps_1.5.3-1.replies b/tests/qemucapabilitiesdata/caps_1.5.3-1.replies
> index abdba6c..1170d13 100644
> --- a/tests/qemucapabilitiesdata/caps_1.5.3-1.replies
> +++ b/tests/qemucapabilitiesdata/caps_1.5.3-1.replies
> @@ -1908,6 +1908,58 @@
>  {
>      "return": [
>          {
> +             "name": "command_serr_enable",
> +             "type": "on/off"
> +        },
> +        {
> +            "name": "multifunction",
> +            "type": "on/off"
> +        },
> +        {
> +            "name": "rombar",
> +            "type": "uint32"
> +        },
> +        {
> +            "name": "romfile",
> +            "type": "string"
> +        },
> +        {
> +            "name": "addr",
> +            "type": "pci-devfn"
> +        },
> +        {
> +            "name": "class",
> +            "type": "hex32"
> +        },
> +        {
> +            "name": "event_idx",
> +            "type": "on/off"
> +        },
> +        {
> +            "name": "indirect_desc",
> +            "type": "on/off"
> +        }
> +    ],
> +    "id": "libvirt-33"
> +}
> +
> +{
> +    "id": "libvirt-34",
> +    "error": {
> +        "class": "DeviceNotFound",
> +        "desc": "Device 'virtio-balloon-ccw' not found"
> +    }
> +}
> +
> +{
> +    "return": [
> +    ],
> +    "id": "libvirt-35"
> +}
> +
> +{
> +    "return": [
> +        {
>              "name": "pc-q35-1.4",
>              "cpu-max": 255
>          },
> @@ -1975,7 +2027,7 @@
>              "cpu-max": 1
>          }
>      ],
> -    "id": "libvirt-33"
> +    "id": "libvirt-36"
>  }
>  
>  {
> @@ -2053,7 +2105,7 @@
>              "name": "qemu64"
>          }
>      ],
> -    "id": "libvirt-34"
> +    "id": "libvirt-37"
>  }
>  
>  {
> @@ -2061,19 +2113,19 @@
>          "enabled": false,
>          "present": true
>      },
> -    "id": "libvirt-35"
> +    "id": "libvirt-38"
>  }
>  
>  {
>      "return": [
>      ],
> -    "id": "libvirt-36"
> +    "id": "libvirt-39"
>  }
>  
>  {
>      "return": [
>      ],
> -    "id": "libvirt-37"
> +    "id": "libvirt-40"
>  }
>  
>  {
> @@ -2749,7 +2801,7 @@
>              "option": "drive"
>          }
>      ],
> -    "id": "libvirt-38"
> +    "id": "libvirt-41"
>  }
>  
>  {
> @@ -2759,5 +2811,5 @@
>              "state": false
>          }
>      ],
> -    "id": "libvirt-39"
> +    "id": "libvirt-42"
>  }
> diff --git a/tests/qemucapabilitiesdata/caps_1.6.0-1.replies b/tests/qemucapabilitiesdata/caps_1.6.0-1.replies
> index 26a0e9d..bbd5ca6 100644
> --- a/tests/qemucapabilitiesdata/caps_1.6.0-1.replies
> +++ b/tests/qemucapabilitiesdata/caps_1.6.0-1.replies
> @@ -1970,6 +1970,58 @@
>  {
>      "return": [
>          {
> +             "name": "command_serr_enable",
> +             "type": "on/off"
> +        },
> +        {
> +            "name": "multifunction",
> +            "type": "on/off"
> +        },
> +        {
> +            "name": "rombar",
> +            "type": "uint32"
> +        },
> +        {
> +            "name": "romfile",
> +            "type": "string"
> +        },
> +        {
> +            "name": "addr",
> +            "type": "pci-devfn"
> +        },
> +        {
> +            "name": "class",
> +            "type": "hex32"
> +        },
> +        {
> +            "name": "event_idx",
> +            "type": "on/off"
> +        },
> +        {
> +            "name": "indirect_desc",
> +            "type": "on/off"
> +        }
> +    ],
> +    "id": "libvirt-33"
> +}
> +
> +{
> +    "id": "libvirt-34",
> +    "error": {
> +        "class": "DeviceNotFound",
> +        "desc": "Device 'virtio-balloon-ccw' not found"
> +    }
> +}
> +
> +{
> +    "return": [
> +    ],
> +    "id": "libvirt-35"
> +}
> +
> +{
> +    "return": [
> +        {
>              "name": "xenpv",
>              "cpu-max": 1
>          },
> @@ -2053,7 +2105,7 @@
>              "cpu-max": 1
>          }
>      ],
> -    "id": "libvirt-33"
> +    "id": "libvirt-36"
>  }
>  
>  {
> @@ -2131,7 +2183,7 @@
>              "name": "qemu64"
>          }
>      ],
> -    "id": "libvirt-34"
> +    "id": "libvirt-37"
>  }
>  
>  {
> @@ -2139,19 +2191,19 @@
>          "enabled": false,
>          "present": true
>      },
> -    "id": "libvirt-35"
> +    "id": "libvirt-38"
>  }
>  
>  {
>      "return": [
>      ],
> -    "id": "libvirt-36"
> +    "id": "libvirt-39"
>  }
>  
>  {
>      "return": [
>      ],
> -    "id": "libvirt-37"
> +    "id": "libvirt-40"
>  }
>  
>  {
> @@ -2729,7 +2781,7 @@
>              "option": "drive"
>          }
>      ],
> -    "id": "libvirt-38"
> +    "id": "libvirt-41"
>  }
>  
>  {
> @@ -2751,5 +2803,5 @@
>              "state": false
>          }
>      ],
> -    "id": "libvirt-39"
> +    "id": "libvirt-42"
>  }
> diff --git a/tests/qemucapabilitiesdata/caps_1.6.50-1.replies b/tests/qemucapabilitiesdata/caps_1.6.50-1.replies
> index 5c493b7..319d33f 100644
> --- a/tests/qemucapabilitiesdata/caps_1.6.50-1.replies
> +++ b/tests/qemucapabilitiesdata/caps_1.6.50-1.replies
> @@ -1934,6 +1934,58 @@
>  {
>      "return": [
>          {
> +             "name": "command_serr_enable",
> +             "type": "on/off"
> +        },
> +        {
> +            "name": "multifunction",
> +            "type": "on/off"
> +        },
> +        {
> +            "name": "rombar",
> +            "type": "uint32"
> +        },
> +        {
> +            "name": "romfile",
> +            "type": "string"
> +        },
> +        {
> +            "name": "addr",
> +            "type": "pci-devfn"
> +        },
> +        {
> +            "name": "class",
> +            "type": "hex32"
> +        },
> +        {
> +            "name": "event_idx",
> +            "type": "on/off"
> +        },
> +        {
> +            "name": "indirect_desc",
> +            "type": "on/off"
> +        }
> +    ],
> +    "id": "libvirt-33"
> +}
> +
> +{
> +    "id": "libvirt-34",
> +    "error": {
> +        "class": "DeviceNotFound",
> +        "desc": "Device 'virtio-balloon-ccw' not found"
> +    }
> +}
> +
> +{
> +    "return": [
> +    ],
> +    "id": "libvirt-35"
> +}
> +
> +{
> +    "return": [
> +        {
>              "name": "xenpv",
>              "cpu-max": 1
>          },
> @@ -2025,7 +2077,7 @@
>              "cpu-max": 1
>          }
>      ],
> -    "id": "libvirt-33"
> +    "id": "libvirt-36"
>  }
>  
>  {
> @@ -2103,7 +2155,7 @@
>              "name": "qemu64"
>          }
>      ],
> -    "id": "libvirt-34"
> +    "id": "libvirt-37"
>  }
>  
>  {
> @@ -2111,19 +2163,19 @@
>          "enabled": false,
>          "present": true
>      },
> -    "id": "libvirt-35"
> +    "id": "libvirt-38"
>  }
>  
>  {
>      "return": [
>      ],
> -    "id": "libvirt-36"
> +    "id": "libvirt-39"
>  }
>  
>  {
>      "return": [
>      ],
> -    "id": "libvirt-37"
> +    "id": "libvirt-40"
>  }
>  
>  {
> @@ -2711,7 +2763,7 @@
>              "option": "drive"
>          }
>      ],
> -    "id": "libvirt-38"
> +    "id": "libvirt-41"
>  }
>  
>  {
> @@ -2733,5 +2785,5 @@
>              "state": false
>          }
>      ],
> -    "id": "libvirt-39"
> +    "id": "libvirt-42"
>  }
> diff --git a/tests/qemucapabilitiesdata/caps_2.1.1-1.replies b/tests/qemucapabilitiesdata/caps_2.1.1-1.replies
> index ba85b28..754067a 100644
> --- a/tests/qemucapabilitiesdata/caps_2.1.1-1.replies
> +++ b/tests/qemucapabilitiesdata/caps_2.1.1-1.replies
> @@ -2380,6 +2380,70 @@
>  {
>    "return": [
>      {
> +      "name": "guest-stats-polling-interval",
> +      "type": "int"
> +    },
> +    {
> +      "name": "guest-stats",
> +      "type": "guest statistics"
> +    },
> +    {
> +      "name": "virtio-backend",
> +      "type": "child<virtio-balloon-device>"
> +    },
> +    {
> +      "name": "command_serr_enable",
> +      "type": "on/off"
> +    },
> +    {
> +      "name": "multifunction",
> +      "type": "on/off"
> +    },
> +    {
> +      "name": "rombar",
> +      "type": "uint32"
> +    },
> +    {
> +      "name": "romfile",
> +      "type": "str"
> +    },
> +    {
> +      "name": "addr",
> +      "type": "pci-devfn"
> +    },
> +    {
> +      "name": "event_idx",
> +      "type": "on/off"
> +    },
> +    {
> +      "name": "indirect_desc",
> +      "type": "on/off"
> +    },
> +    {
> +      "name": "class",
> +      "type": "uint32"
> +    }
> +  ],
> +  "id": "libvirt-33"
> +}
> +
> +{
> +  "id": "libvirt-34",
> +  "error": {
> +    "class": "DeviceNotFound",
> +    "desc": "Device 'virtio-balloon-ccw' not found"
> +  }
> +}
> +
> +{
> +  "return": [
> +  ],
> +  "id": "libvirt-35"
> +}
> +
> +{
> +  "return": [
> +    {
>        "name": "pc-1.3",
>        "cpu-max": 255
>      },
> @@ -2487,7 +2551,7 @@
>        "cpu-max": 255
>      }
>    ],
> -  "id": "libvirt-33"
> +  "id": "libvirt-36"
>  }
>  
>  {
> @@ -2568,7 +2632,7 @@
>        "name": "qemu64"
>      }
>    ],
> -  "id": "libvirt-34"
> +  "id": "libvirt-37"
>  }
>  
>  {
> @@ -2576,21 +2640,21 @@
>      "enabled": false,
>      "present": true
>    },
> -  "id": "libvirt-35"
> +  "id": "libvirt-38"
>  }
>  
>  {
>    "return": [
>      "tpm-tis"
>    ],
> -  "id": "libvirt-36"
> +  "id": "libvirt-39"
>  }
>  
>  {
>    "return": [
>      "passthrough"
>    ],
> -  "id": "libvirt-37"
> +  "id": "libvirt-40"
>  }
>  
>  {
> @@ -3450,7 +3514,7 @@
>        "option": "drive"
>      }
>    ],
> -  "id": "libvirt-38"
> +  "id": "libvirt-41"
>  }
>  
>  {
> @@ -3472,5 +3536,5 @@
>        "capability": "zero-blocks"
>      }
>    ],
> -  "id": "libvirt-39"
> +  "id": "libvirt-42"
>  }
> diff --git a/tests/qemucapabilitiesdata/caps_2.4.0-1.caps b/tests/qemucapabilitiesdata/caps_2.4.0-1.caps
> index d67a48d..ab8357d 100644
> --- a/tests/qemucapabilitiesdata/caps_2.4.0-1.caps
> +++ b/tests/qemucapabilitiesdata/caps_2.4.0-1.caps
> @@ -167,4 +167,5 @@
>      <flag name='virtio-mouse'/>
>      <flag name='virtio-tablet'/>
>      <flag name='virtio-input-host'/>
> +    <flag name='virtio-balloon-pci.deflate-on-oom'/>
>    </qemuCaps>
> diff --git a/tests/qemucapabilitiesdata/caps_2.4.0-1.replies b/tests/qemucapabilitiesdata/caps_2.4.0-1.replies
> index 8f50128..3381377 100644
> --- a/tests/qemucapabilitiesdata/caps_2.4.0-1.replies
> +++ b/tests/qemucapabilitiesdata/caps_2.4.0-1.replies
> @@ -2761,6 +2761,138 @@
>  {
>    "return": [
>      {
> +      "name": "guest-stats-polling-interval",
> +      "type": "int"
> +    },
> +    {
> +      "name": "guest-stats",
> +      "type": "guest statistics"
> +    },
> +    {
> +      "name": "any_layout",
> +      "description": "on/off",
> +      "type": "bool"
> +    },
> +    {
> +      "name": "notify_on_empty",
> +      "description": "on/off",
> +      "type": "bool"
> +    },
> +    {
> +      "name": "event_idx",
> +      "description": "on/off",
> +      "type": "bool"
> +    },
> +    {
> +      "name": "indirect_desc",
> +      "description": "on/off",
> +      "type": "bool"
> +    },
> +    {
> +      "name": "deflate-on-oom",
> +      "description": "on/off",
> +      "type": "bool"
> +    },
> +    {
> +      "name": "virtio-backend",
> +      "type": "child<virtio-balloon-device>"
> +    },
> +    {
> +      "name": "command_serr_enable",
> +      "description": "on/off",
> +      "type": "bool"
> +    },
> +    {
> +      "name": "multifunction",
> +      "description": "on/off",
> +      "type": "bool"
> +    },
> +    {
> +      "name": "rombar",
> +      "type": "uint32"
> +    },
> +    {
> +      "name": "romfile",
> +      "type": "str"
> +    },
> +    {
> +      "name": "addr",
> +      "description": "Slot and optional function number, example: 06.0 or 06",
> +      "type": "int32"
> +    },
> +    {
> +      "name": "disable-modern",
> +      "description": "on/off",
> +      "type": "bool"
> +    },
> +    {
> +      "name": "disable-legacy",
> +      "description": "on/off",
> +      "type": "bool"
> +    },
> +    {
> +      "name": "virtio-pci-bus-master-bug-migration",
> +      "description": "on/off",
> +      "type": "bool"
> +    },
> +    {
> +      "name": "class",
> +      "type": "uint32"
> +    }
> +  ],
> +  "id": "libvirt-33"
> +}
> +
> +{
> +  "id": "libvirt-34",
> +  "error": {
> +    "class": "DeviceNotFound",
> +    "desc": "Device 'virtio-balloon-ccw' not found"
> +  }
> +}
> +
> +{
> +  "return": [
> +    {
> +      "name": "guest-stats-polling-interval",
> +      "type": "int"
> +    },
> +    {
> +      "name": "guest-stats",
> +      "type": "guest statistics"
> +    },
> +    {
> +      "name": "any_layout",
> +      "description": "on/off",
> +      "type": "bool"
> +    },
> +    {
> +      "name": "notify_on_empty",
> +      "description": "on/off",
> +      "type": "bool"
> +    },
> +    {
> +      "name": "event_idx",
> +      "description": "on/off",
> +      "type": "bool"
> +    },
> +    {
> +      "name": "indirect_desc",
> +      "description": "on/off",
> +      "type": "bool"
> +    },
> +    {
> +      "name": "deflate-on-oom",
> +      "description": "on/off",
> +      "type": "bool"
> +    }
> +  ],
> +  "id": "libvirt-35"
> +}
> +
> +{
> +  "return": [
> +    {
>        "name": "pc-i440fx-2.4",
>        "is-default": true,
>        "cpu-max": 255,
> @@ -2884,7 +3016,7 @@
>        "cpu-max": 255
>      }
>    ],
> -  "id": "libvirt-33"
> +  "id": "libvirt-36"
>  }
>  
>  {
> @@ -2974,7 +3106,7 @@
>        "name": "qemu64"
>      }
>    ],
> -  "id": "libvirt-34"
> +  "id": "libvirt-37"
>  }
>  
>  {
> @@ -2982,21 +3114,21 @@
>      "enabled": false,
>      "present": true
>    },
> -  "id": "libvirt-35"
> +  "id": "libvirt-38"
>  }
>  
>  {
>    "return": [
>      "tpm-tis"
>    ],
> -  "id": "libvirt-36"
> +  "id": "libvirt-39"
>  }
>  
>  {
>    "return": [
>      "passthrough"
>    ],
> -  "id": "libvirt-37"
> +  "id": "libvirt-40"
>  }
>  
>  {
> @@ -4000,7 +4132,7 @@
>        "option": "drive"
>      }
>    ],
> -  "id": "libvirt-38"
> +  "id": "libvirt-41"
>  }
>  
>  {
> @@ -4030,5 +4162,5 @@
>        "capability": "events"
>      }
>    ],
> -  "id": "libvirt-39"
> +  "id": "libvirt-42"
>  }
> diff --git a/tests/qemucapabilitiesdata/caps_2.5.0-1.caps b/tests/qemucapabilitiesdata/caps_2.5.0-1.caps
> index f4f3673..e3c7d14 100644
> --- a/tests/qemucapabilitiesdata/caps_2.5.0-1.caps
> +++ b/tests/qemucapabilitiesdata/caps_2.5.0-1.caps
> @@ -168,4 +168,5 @@
>      <flag name='virtio-mouse'/>
>      <flag name='virtio-tablet'/>
>      <flag name='virtio-input-host'/>
> +    <flag name='virtio-balloon-pci.deflate-on-oom'/>
>    </qemuCaps>
> diff --git a/tests/qemucapabilitiesdata/caps_2.5.0-1.replies b/tests/qemucapabilitiesdata/caps_2.5.0-1.replies
> index d90a74b..29429f6 100644
> --- a/tests/qemucapabilitiesdata/caps_2.5.0-1.replies
> +++ b/tests/qemucapabilitiesdata/caps_2.5.0-1.replies
> @@ -2766,6 +2766,153 @@
>  {
>    "return": [
>      {
> +      "name": "disable-modern",
> +      "description": "on/off",
> +      "type": "bool"
> +    },
> +    {
> +      "name": "rombar",
> +      "type": "uint32"
> +    },
> +    {
> +      "name": "virtio-pci-bus-master-bug-migration",
> +      "description": "on/off",
> +      "type": "bool"
> +    },
> +    {
> +      "name": "class",
> +      "type": "uint32"
> +    },
> +    {
> +      "name": "indirect_desc",
> +      "description": "on/off",
> +      "type": "bool"
> +    },
> +    {
> +      "name": "guest-stats-polling-interval",
> +      "type": "int"
> +    },
> +    {
> +      "name": "guest-stats",
> +      "type": "guest statistics"
> +    },
> +    {
> +      "name": "multifunction",
> +      "description": "on/off",
> +      "type": "bool"
> +    },
> +    {
> +      "name": "migrate-extra",
> +      "description": "on/off",
> +      "type": "bool"
> +    },
> +    {
> +      "name": "event_idx",
> +      "description": "on/off",
> +      "type": "bool"
> +    },
> +    {
> +      "name": "modern-pio-notify",
> +      "description": "on/off",
> +      "type": "bool"
> +    },
> +    {
> +      "name": "romfile",
> +      "type": "str"
> +    },
> +    {
> +      "name": "virtio-backend",
> +      "type": "child<virtio-balloon-device>"
> +    },
> +    {
> +      "name": "disable-legacy",
> +      "description": "on/off",
> +      "type": "bool"
> +    },
> +    {
> +      "name": "command_serr_enable",
> +      "description": "on/off",
> +      "type": "bool"
> +    },
> +    {
> +      "name": "x-disable-pcie",
> +      "description": "on/off",
> +      "type": "bool"
> +    },
> +    {
> +      "name": "addr",
> +      "description": "Slot and optional function number, example: 06.0 or 06",
> +      "type": "int32"
> +    },
> +    {
> +      "name": "any_layout",
> +      "description": "on/off",
> +      "type": "bool"
> +    },
> +    {
> +      "name": "notify_on_empty",
> +      "description": "on/off",
> +      "type": "bool"
> +    },
> +    {
> +      "name": "deflate-on-oom",
> +      "description": "on/off",
> +      "type": "bool"
> +    }
> +  ],
> +  "id": "libvirt-33"
> +}
> +
> +{
> +  "id": "libvirt-34",
> +  "error": {
> +    "class": "DeviceNotFound",
> +    "desc": "Device 'virtio-balloon-ccw' not found"
> +  }
> +}
> +
> +{
> +  "return": [
> +    {
> +      "name": "notify_on_empty",
> +      "description": "on/off",
> +      "type": "bool"
> +    },
> +    {
> +      "name": "any_layout",
> +      "description": "on/off",
> +      "type": "bool"
> +    },
> +    {
> +      "name": "indirect_desc",
> +      "description": "on/off",
> +      "type": "bool"
> +    },
> +    {
> +      "name": "guest-stats-polling-interval",
> +      "type": "int"
> +    },
> +    {
> +      "name": "guest-stats",
> +      "type": "guest statistics"
> +    },
> +    {
> +      "name": "event_idx",
> +      "description": "on/off",
> +      "type": "bool"
> +    },
> +    {
> +      "name": "deflate-on-oom",
> +      "description": "on/off",
> +      "type": "bool"
> +    }
> +  ],
> +  "id": "libvirt-35"
> +}
> +
> +{
> +  "return": [
> +    {
>        "name": "pc-i440fx-2.4",
>        "is-default": true,
>        "cpu-max": 255,
> @@ -2889,7 +3036,7 @@
>        "cpu-max": 255
>      }
>    ],
> -  "id": "libvirt-33"
> +  "id": "libvirt-36"
>  }
>  
>  {
> @@ -2979,7 +3126,7 @@
>        "name": "qemu64"
>      }
>    ],
> -  "id": "libvirt-34"
> +  "id": "libvirt-37"
>  }
>  
>  {
> @@ -2987,21 +3134,21 @@
>      "enabled": false,
>      "present": true
>    },
> -  "id": "libvirt-35"
> +  "id": "libvirt-38"
>  }
>  
>  {
>    "return": [
>      "tpm-tis"
>    ],
> -  "id": "libvirt-36"
> +  "id": "libvirt-39"
>  }
>  
>  {
>    "return": [
>      "passthrough"
>    ],
> -  "id": "libvirt-37"
> +  "id": "libvirt-40"
>  }
>  
>  {
> @@ -4005,7 +4152,7 @@
>        "option": "drive"
>      }
>    ],
> -  "id": "libvirt-38"
> +  "id": "libvirt-41"
>  }
>  
>  {
> @@ -4035,5 +4182,5 @@
>        "capability": "events"
>      }
>    ],
> -  "id": "libvirt-39"
> +  "id": "libvirt-42"
>  }
> 




More information about the libvir-list mailing list