1. 20 5月, 2016 1 次提交
  2. 05 5月, 2016 1 次提交
  3. 03 5月, 2016 1 次提交
  4. 02 5月, 2016 2 次提交
  5. 20 4月, 2016 1 次提交
    • A
      qemu: Probe GIC capabilities · 12209ba5
      Andrea Bolognani 提交于
      QEMU introduced the query-gic-capabilities QMP command
      with commit 4468d4e0f383: use the command, if available,
      to probe available GIC capabilities.
      
      The information obtained is stored in a virQEMUCaps
      instance, and will be later used to fill in a
      virDomainCaps instance.
      12209ba5
  6. 14 4月, 2016 1 次提交
  7. 29 3月, 2016 1 次提交
    • P
      qemu: monitor: Remove JSON impls of drive_add and drive_del · 9f7d9891
      Peter Krempa 提交于
      qemu won't ever add those functions directly to QMP. They will be
      replaced with 'blockdev-add' and 'blockdev-del' eventually. At this time
      there's no need to keep the stubs around.
      
      Additionally the drive_del stub in JSON contained dead code in the
      attempt to report errors. (VIR_ERR_OPERATION_UNSUPPORTED was never
      reported). Since the text impl does have the same message it is reported
      anyways.
      9f7d9891
  8. 21 3月, 2016 1 次提交
  9. 01 3月, 2016 1 次提交
  10. 09 1月, 2016 1 次提交
  11. 19 11月, 2015 1 次提交
  12. 26 9月, 2015 1 次提交
  13. 26 6月, 2015 1 次提交
  14. 19 6月, 2015 1 次提交
    • J
      qemu: Refactor qemuMonitorBlockJobInfo · 3a18bd2d
      Jiri Denemark 提交于
      "query-block-jobs" QMP command returns all running block jobs at once,
      while qemuMonitorBlockJobInfo would only report one. This is not very
      nice in case we need to check several block jobs. This patch refactors
      the monitor code to always parse all block jobs and store them in a
      hash.
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      3a18bd2d
  15. 05 6月, 2015 3 次提交
  16. 03 6月, 2015 1 次提交
  17. 14 4月, 2015 3 次提交
  18. 09 4月, 2015 1 次提交
  19. 26 3月, 2015 1 次提交
  20. 23 3月, 2015 1 次提交
  21. 18 3月, 2015 1 次提交
    • E
      qemu: read backing chain names from qemu · f9ea3d60
      Eric Blake 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1199182 documents that
      after a series of disk snapshots into existing destination images,
      followed by active commits of the top image, it is possible for
      qemu 2.2 and earlier to end up tracking a different name for the
      image than what it would have had when opening the chain afresh.
      That is, when starting with the chain 'a <- b <- c', the name
      associated with 'b' is how it was spelled in the metadata of 'c',
      but when starting with 'a', taking two snapshots into 'a <- b <- c',
      then committing 'c' back into 'b', the name associated with 'b' is
      now the name used when taking the first snapshot.
      
      Sadly, older qemu doesn't know how to treat different spellings of
      the same filename as identical files (it uses strcmp() instead of
      checking for the same inode), which means libvirt's attempt to
      commit an image using solely the names learned from qcow2 metadata
      fails with a cryptic:
      
      error: internal error: unable to execute QEMU command 'block-commit': Top image file /tmp/images/c/../b/b not found
      
      even though the file exists.  Trying to teach libvirt the rules on
      which name qemu will expect is not worth the effort (besides, we'd
      have to remember it across libvirtd restarts, and track whether a
      file was opened via metadata or via snapshot creation for a given
      qemu process); it is easier to just always directly ask qemu what
      string it expects to see in the first place.
      
      As a safety valve, we validate that any name returned by qemu
      still maps to the same local file as we have tracked it, so that
      a compromised qemu cannot accidentally cause us to act on an
      incorrect file.
      
      * src/qemu/qemu_monitor.h (qemuMonitorDiskNameLookup): New
      prototype.
      * src/qemu/qemu_monitor_json.h (qemuMonitorJSONDiskNameLookup):
      Likewise.
      * src/qemu/qemu_monitor.c (qemuMonitorDiskNameLookup): New function.
      * src/qemu/qemu_monitor_json.c (qemuMonitorJSONDiskNameLookup)
      (qemuMonitorJSONDiskNameLookupOne): Likewise.
      * src/qemu/qemu_driver.c (qemuDomainBlockCommit)
      (qemuDomainBlockJobImpl): Use it.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      f9ea3d60
  22. 11 3月, 2015 3 次提交
  23. 14 1月, 2015 1 次提交
    • P
      qemu_process: detect updated video ram size values from QEMU · ce745914
      Pavel Hrdina 提交于
      QEMU internally updates the size of video memory if the domain XML had
      provided too low memory size or there are some dependencies for a QXL
      devices 'vgamem' and 'ram' size. We need to know about the changes and
      store them into the status XML to not break migration or managedsave
      through different libvirt versions.
      
      The values would be loaded only if the "vgamem_mb" property exists for
      the device.  The presence of the "vgamem_mb" also tells that the
      "ram_size" and "vram_size" exists for QXL devices.
      Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
      ce745914
  24. 17 12月, 2014 1 次提交
    • E
      getstats: prepare monitor collection for recursion · 7b11f5e5
      Eric Blake 提交于
      A future patch will allow recursion into backing chains when
      collecting block stats.  This patch should not change behavior,
      but merely moves out the common code that will be reused once
      recursion is enabled, and adds the parameter that will turn on
      recursion.
      
      * src/qemu/qemu_monitor.h (qemuMonitorGetAllBlockStatsInfo)
      (qemuMonitorBlockStatsUpdateCapacity): Add recursion parameter,
      although it is ignored for now.
      * src/qemu/qemu_monitor.h (qemuMonitorGetAllBlockStatsInfo)
      (qemuMonitorBlockStatsUpdateCapacity): Likewise.
      * src/qemu/qemu_monitor_json.h
      (qemuMonitorJSONGetAllBlockStatsInfo)
      (qemuMonitorJSONBlockStatsUpdateCapacity): Likewise.
      * src/qemu/qemu_monitor_json.c
      (qemuMonitorJSONGetAllBlockStatsInfo)
      (qemuMonitorJSONBlockStatsUpdateCapacity): Add parameter, and
      split...
      (qemuMonitorJSONGetOneBlockStatsInfo)
      (qemuMonitorJSONBlockStatsUpdateCapacityOne): ...into helpers.
      (qemuMonitorJSONGetBlockStatsInfo): Update caller.
      * src/qemu/qemu_driver.c (qemuDomainGetStatsBlock): Update caller.
      * src/qemu/qemu_migration.c (qemuMigrationCookieAddNBD): Likewise.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      7b11f5e5
  25. 21 11月, 2014 1 次提交
  26. 14 11月, 2014 1 次提交
  27. 11 11月, 2014 1 次提交
  28. 15 10月, 2014 1 次提交
    • P
      qemu: monitor: Add functions for object hot-add/remove · 6908f8ca
      Peter Krempa 提交于
      To allow live modification of device backends in qemu libvirt needs to
      be able to hot-add/remove "objects". Add monitor backend functions to
      allow this.
      
      This function will be used for hot-add/remove of RNG backends,
      IOThreads, memory backing objects, etc.
      6908f8ca
  29. 07 10月, 2014 1 次提交
    • L
      qemu: qemuMonitorQueryRxFilter - retrieve guest netdev rx-filter · ab989962
      Laine Stump 提交于
      This function can be called at any time to get the current status of a
      guest's network device rx-filter. In particular it is useful to call
      after libvirt recieves a NIC_RX_FILTER_CHANGED event - this event only
      tells you that something has changed in the rx-filter, the details are
      retrieved with the query-rx-filter monitor command (only available in
      the json monitor). The command sent to the qemu monitor looks like this:
      
        {"execute":"query-rx-filter", "arguments": {"name":"net2"} }'
      
      and the results will look something like this:
      
      {
          "return": [
              {
                  "promiscuous": false,
                  "name": "net2",
                  "main-mac": "52:54:00:98:2d:e3",
                  "unicast": "normal",
                  "vlan": "normal",
                  "vlan-table": [
                      42,
                      0
                  ],
                  "unicast-table": [
      
                  ],
                  "multicast": "normal",
                  "multicast-overflow": false,
                  "unicast-overflow": false,
                  "multicast-table": [
                      "33:33:ff:98:2d:e3",
                      "01:80:c2:00:00:21",
                      "01:00:5e:00:00:fb",
                      "33:33:ff:98:2d:e2",
                      "01:00:5e:00:00:01",
                      "33:33:00:00:00:01"
                  ],
                  "broadcast-allowed": false
              }
          ],
          "id": "libvirt-14"
      }
      
      This is all parsed from JSON into a virNetDevRxFilter object for
      easier consumption. (unicast-table is usually empty, but is also an
      array of mac addresses similar to multicast-table).
      
      (NB: LIBNL_CFLAGS was added to tests/Makefile.am because virnetdev.h
      now includes util/virnetlink.h, which includes netlink/msg.h when
      appropriate. Without LIBNL_CFLAGS, gcc can't find that file (if
      libnl/netlink isn't available, LIBNL_CFLAGS will be empty and
      virnetlink.h won't try to include netlink/msg.h anyway).)
      ab989962
  30. 01 10月, 2014 1 次提交
  31. 30 9月, 2014 1 次提交
  32. 23 9月, 2014 1 次提交
  33. 18 9月, 2014 1 次提交