1. 10 2月, 2015 8 次提交
  2. 06 2月, 2015 2 次提交
  3. 05 2月, 2015 1 次提交
  4. 03 2月, 2015 1 次提交
  5. 31 1月, 2015 7 次提交
    • P
      qemu: command: Don't combine old and modern NUMA node creation · b92a0037
      Peter Krempa 提交于
      Change done by commit f309db1f wrongly
      assumes that qemu can start with a combination of NUMA nodes specified
      with the "memdev" option and the appropriate backends, and the legacy
      way by specifying only "mem" as a size argument. QEMU rejects such
      commandline though:
      
      $ /usr/bin/qemu-system-x86_64 -S -M pc -m 1024 -smp 2 \
      -numa node,nodeid=0,cpus=0,mem=256 \
      -object memory-backend-ram,id=ram-node1,size=12345 \
      -numa node,nodeid=1,cpus=1,memdev=ram-node1
      qemu-system-x86_64: -numa node,nodeid=1,cpus=1,memdev=ram-node1: qemu: memdev option must be specified for either all or no nodes
      
      To fix this issue we need to check if any of the nodes requires the new
      definition with the backend and if so, then all other nodes have to use
      it too.
      
      Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1182467
      b92a0037
    • P
      qemu: command: Refactor NUMA backend object formatting to use JSON objs · 8795adf7
      Peter Krempa 提交于
      With the new JSON to argv formatter we are now able to represent the
      memory backend definitions in the JSON object format that is reusable
      for monitor use (hotplug) and then convert it into the shell string.
      This will avoid having two separate instances of the same code that
      would create the different formats.
      
      Previous refactors now allow to make this step without changes to the
      test suite.
      8795adf7
    • P
      qemu: command: Switch to bytes when formatting size for memory backends · b50b4ef3
      Peter Krempa 提交于
      QEMU's command line visitor as well as the JSON interface take bytes by
      default for memory object sizes. Convert mebibytes to bytes so that we
      can later refactor the existing code for hotplug purposes.
      b50b4ef3
    • P
      qemu: command: Unify values for boolean values when formating memory backends · a47174c5
      Peter Krempa 提交于
      QEMU's qapi visitor code allows yes/on/y for true and no/off/n for false
      value of boolean properities. Unify the used style so that we can
      generate it later and fix test cases.
      a47174c5
    • P
      qemu: command: Shuffle around formating of alias for memory backend objs · 172100ac
      Peter Krempa 提交于
      Move the alias as the second formated argument and tweak the tests so
      that a future refactor that will change the order doesn't break tests.
      172100ac
    • P
      qemu: Extract code to setup memory backing objects · db3b1c4a
      Peter Krempa 提交于
      Extract the memory backend device code into a separate function so that
      it can be later easily refactored and reused.
      
      Few small changes for future reusability, namely:
      - new (currently unused) parameter for user specified page size
      - size of the memory is specified in kibibytes, divided up in the
      function
      - new (currently unused) parameter for user specifed source nodeset
      - option to enforce capability check
      db3b1c4a
    • P
      qemu: command: Add helper to format -object strings from JSON representation · 331b2583
      Peter Krempa 提交于
      Unlike -device, qemu uses a JSON object to add backend "objects" via the
      monitor rather than the string that would be passed on the commandline.
      
      To be able to reuse code parts that configure backends for various
      devices, this patch adds a helper that will allow generating the command
      line representations from the JSON property object.
      331b2583
  6. 30 1月, 2015 3 次提交
    • T
      qemu: change macvtap device options in response to NIC_RX_FILTER_CHANGED · 79a87694
      Tony Krowiak 提交于
      This patch enables synchronization of the host macvtap
      device options with the guest device's in response to the
      NIC_RX_FILTER_CHANGED event.
      
      The following device options will be synchronized:
      * PROMISC
      * MULTICAST
      * ALLMULTI
      Signed-off-by: NTony Krowiak <akrowiak@linux.vnet.ibm.com>
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      79a87694
    • J
      qemu: Don't unconditionally delete file in qemuOpenFileAs · 7879d031
      John Ferlan 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1158034
      
      If we're expecting to create a file somewhere and that fails for some
      reason during qemuOpenFileAs, then we unlink the path we're attempting
      to create leaving no way to determine what the "existing" privileges,
      protections, or labels are that caused the failure (open, change owner
      and group, change mode, etc.).
      
      Furthermore, if we fall into the path where we'll be opening / creating
      the file using VIR_FILE_OPEN_FORK, we need to first unlink/delete the file
      we created in the first path; otherwise, the attempt by the child process
      to open as some specific user:group may fail because the file was already
      created using nfsnobody:nfsnobody. Again, if we didn't create the file we
      don't want to blindly delete what already exists. Thus, a second reason for
      the original check to set need_unlink to false when we find the file with
      CREAT set, but already existing.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      7879d031
    • J
      qemu: Adjust EndAsyncJob for qemuDomainSaveInternal error path · 8ff38336
      John Ferlan 提交于
      Commit id '540c339a' to fix issues with reference counting and transient
      domains moved the qemuDomainObjEndAsyncJob call prior to the attempt to
      restart the guest CPU's resulting in an error:
      
          error: Failed to save domain rhel70 to /tmp/pl/rhel70.save
          error: internal error: unexpected async job 3
      
      when (ret != 0) - eg, the error path from qemuDomainSaveMemory.
      
      This patch will adjust the logic to call the EndAsyncJob only after
      we've tried to restart the guest CPUs. It also needs to adjust the
      test for qemuDomainRemoveInactive to add the ret == 0 condition.
      
      Additionally, if we get to endjob: because of some error earlier, then
      we need to save that error in the event the CPU restart logic fails.
      We don't want to return the error from CPU restart failure, rather we
      want to return the error from the failed save that caused us to fall
      into the retry to start the CPU logic.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      8ff38336
  7. 29 1月, 2015 2 次提交
    • M
      qemu: Add AAVMF to the list of known UEFIs · 436dcf0b
      Michal Privoznik 提交于
      Well, even though users can pass the list of UEFI:NVRAM pairs at the
      configure time, we may maintain the list of widely available UEFI
      ourselves too. And as arm64 begin to rises, OVMF was ported there too.
      With a slight name change - it's called AAVMF, with AAVMF_CODE.fd
      being the UEFI firmware and AAVMF_VARS.fd being the NVRAM store file.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      436dcf0b
    • M
      qemu: Allow UEFI paths to be specified at compile time · bc03a231
      Michal Privoznik 提交于
      Up until now there are just two ways how to specify UEFI paths to
      libvirt. The first one is editing qemu.conf, the other is editing
      qemu_conf.c and recompile which is not that fancy. So, new
      configure option is introduced: --with-loader-nvram which takes a
      list of pairs of UEFI firmware and NVRAM store. This way, the
      compiled in defaults can be passed during compile time without
      need to change the code itself.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      bc03a231
  8. 28 1月, 2015 3 次提交
  9. 27 1月, 2015 10 次提交
    • D
      qemu: report TAP device indexes to systemd · f7afeddc
      Daniel P. Berrange 提交于
      Record the index of each TAP device created and report them to
      systemd, so they show up in machinectl status for the VM.
      f7afeddc
    • D
      Removing probing of secondary drivers · 55ea7be7
      Daniel P. Berrange 提交于
      For stateless, client side drivers, it is never correct to
      probe for secondary drivers. It is only ever appropriate to
      use the secondary driver that is associated with the
      hypervisor in question. As a result the ESX & HyperV drivers
      have both been forced to do hacks where they register no-op
      drivers for the ones they don't implement.
      
      For stateful, server side drivers, we always just want to
      use the same built-in shared driver. The exception is
      virtualbox which is really a stateless driver and so wants
      to use its own server side secondary drivers. To deal with
      this virtualbox has to be built as 3 separate loadable
      modules to allow registration to work in the right order.
      
      This can all be simplified by introducing a new struct
      recording the precise set of secondary drivers each
      hypervisor driver wants
      
      struct _virConnectDriver {
          virHypervisorDriverPtr hypervisorDriver;
          virInterfaceDriverPtr interfaceDriver;
          virNetworkDriverPtr networkDriver;
          virNodeDeviceDriverPtr nodeDeviceDriver;
          virNWFilterDriverPtr nwfilterDriver;
          virSecretDriverPtr secretDriver;
          virStorageDriverPtr storageDriver;
      };
      
      Instead of registering the hypervisor driver, we now
      just register a virConnectDriver instead. This allows
      us to remove all probing of secondary drivers. Once we
      have chosen the primary driver, we immediately know the
      correct secondary drivers to use.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      55ea7be7
    • D
      Remove use of nwfilterPrivateData from nwfilter driver · 7b1ba956
      Daniel P. Berrange 提交于
      The nwfilter driver can rely on its global state instead
      of the connect private data.
      7b1ba956
    • P
      qemu: Fix job handling in qemuDomainSetMetadata · d13f56f0
      Peter Krempa 提交于
      The code modifies the domain configuration but doesn't take a MODIFY
      type job to do so.
      d13f56f0
    • P
      qemu: Fix job type in qemuDomainGetBlockIoTune · fb2ed975
      Peter Krempa 提交于
      The function just queries status so there's no need for a MODIFY type
      job.
      fb2ed975
    • P
      qemu: Fix job handling in qemuDomainSetSchedulerParametersFlags · c5ee5cfb
      Peter Krempa 提交于
      The code modifies the domain configuration but doesn't take a MODIFY
      type job to do so.
      c5ee5cfb
    • P
      qemu: Fix job handling in qemuDomainSetMemoryParameters · 4fd7a720
      Peter Krempa 提交于
      The code modifies the domain configuration but doesn't take a MODIFY
      type job to do so.
      4fd7a720
    • P
      qemu: Fix job handling in qemuDomainSetAutostart · e3e72743
      Peter Krempa 提交于
      The code modifies the domain configuration but doesn't take a MODIFY
      type job to do so.
      
      This patch also fixes a few very long lines of code around the touched
      parts.
      e3e72743
    • P
      qemu: Fix job handling in qemuDomainPinEmulator · 79e56033
      Peter Krempa 提交于
      The code modifies the domain configuration but doesn't take a MODIFY
      type job to do so.
      79e56033
    • P
      qemu: Fix job handling in qemuDomainPinVcpuFlags · 46d95044
      Peter Krempa 提交于
      The domain modifies the domain configuration but doesn't take a MODIFY
      type job to do it.
      46d95044
  10. 23 1月, 2015 3 次提交