1. 30 6月, 2016 1 次提交
  2. 01 7月, 2015 4 次提交
  3. 23 6月, 2015 2 次提交
  4. 13 6月, 2015 1 次提交
  5. 09 6月, 2015 1 次提交
  6. 03 6月, 2015 2 次提交
  7. 21 5月, 2015 2 次提交
    • M
      qemuDomainDetachChrDevice: Fix chardev hot-unplug · 04695f48
      Michal Privoznik 提交于
      Not every chardev is plugged onto virtio-serial bus. However, the
      code introduced in 89e991a2 assumes that. Incorrectly.
      With previous patches we have three options where a chardev can
      be plugged: virtio-serial, USB and PCI. This commit fixes the
      detach part. However, since we are not auto allocating USB
      addresses yet, I'm just marking the place where appropriate code
      should go.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      04695f48
    • M
      qemuDomainAttachChrDevice: Fix chardev hotplug · 9807c471
      Michal Privoznik 提交于
      Not every chardev is plugged onto virtio-serial bus. However, the
      code introduced in 89e991a2 assumes that. Incorrectly.
      With previous patches we have three options where a chardev can
      be plugged: virtio-serial, USB and PCI. This commit fixes the
      attach part.  However, since we are not auto allocating USB
      addresses yet, I'm just marking the place where appropriate code
      should go.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      9807c471
  8. 16 5月, 2015 1 次提交
    • L
      qemu: fix exceptions in qemuAssignDeviceControllerAlias · 75cd7d9b
      Laine Stump 提交于
      There are a few extra exceptions that weren't being accounted for when
      creating the alias for a controller. This resulted in 1) incorrect
      status XML, and 2) exceptions/printfs of what *should* have been
      directly available in the controller alias when constructing device
      commandline arguments:
      
      1) The primary (and only) IDE controller on a 440FX machinetype is
      hardcoded to be "ide" in qemu.
      
      2) The primary SATA controller on a 440FX machinetype is also
      hardcoded to be "ide" in qemu.
      
      3) On machinetypes that don't support multiple PCI buses, the PCI bus
      is hardcoded in qemu to have the name "pci".
      
      4) The first usb master controller is "usb", all others are the normal
      "usb%d". (note that usb controllers that are not a "master" will have
      the same index, and thus alias, as the master).
      
      We needed to pass in the full domainDef and qemuCaps in order to
      properly make the decisions about these exceptions.
      75cd7d9b
  9. 11 5月, 2015 1 次提交
  10. 06 5月, 2015 2 次提交
    • J
      qemu: Resolve Coverity FORWARD_NULL · 75dfbb85
      John Ferlan 提交于
      Coverity notes that ->ifname is used after the VIR_FREE done in the
      code path after the call to virNetDevMacVLanDeleteWithVPortProfile
      by a call to virNetDevOpenvswitchRemovePort.
      
      Since the ->ifname will be VIR_FREE()'d eventually in virDomainNetDefFree
      just remove the extraneous VIR_FREE here.
      
      When originally added, the Openvswitch code wasn't present and checks
      were made for non NULL prior to use.
      75dfbb85
    • J
      qemu: Resolve Coverity IDENTICAL_BRANCHES · 9ad32e50
      John Ferlan 提交于
      Coverity complains that in the error paths both the < 0 condition and
      the success path after the qemuDomainObjExitMonitor failure will end
      up going to cleanup.  So just use ignore_value in this error path to
      resolve the complaint.
      9ad32e50
  11. 29 4月, 2015 2 次提交
  12. 22 4月, 2015 1 次提交
    • L
      qemu: set macvtap physdevs online when macvtap is set online · 38172ed8
      Laine Stump 提交于
      A further fix for:
      
        https://bugzilla.redhat.com/show_bug.cgi?id=1113474
      
      Since there is no possibility that any type of macvtap will work if
      the parent physdev it's attached to is offline, we should bring the
      physdev online at the same time as the macvtap. When taking the
      macvtap offline, it's also necessary to take the physdev offline for
      macvtap passthrough mode (because the physdev has the same MAC address
      as the macvtap device, so could potentially cause problems with
      misdirected packets during migration, as outlined in commits 829770
      and 879c13). We can't set the physdev offline for other macvtap modes
      1) because there may be other macvtap devices attached to the same
      physdev (and/or the host itself may be using the device) in the other
      modes whereas passthrough mode is exclusive to one macvtap at a time,
      and 2) there's no practical reason to do so anyway.
      38172ed8
  13. 15 4月, 2015 1 次提交
  14. 02 4月, 2015 3 次提交
  15. 23 3月, 2015 3 次提交
    • P
      qemu: Implement memory device hotunplug · 3b289a81
      Peter Krempa 提交于
      Add code to hot-remove memory devices from qemu. Unfortunately QEMU
      doesn't support this right now, so this is just for completenes.
      3b289a81
    • P
      qemu: Implement memory device hotplug · 9b4654f6
      Peter Krempa 提交于
      Add code to hot-add memory devices to running qemu instances.
      9b4654f6
    • P
      conf: Add interface to parse and format memory device information · 3e4230d2
      Peter Krempa 提交于
      This patch adds code that parses and formats configuration for memory
      devices.
      
      A simple configuration would be:
      <memory model='dimm'>
        <target>
          <size unit='KiB'>524287</size>
          <node>0</node>
        </target>
      </memory>
      
      A complete configuration of a memory device:
      <memory model='dimm'>
        <source>
          <pagesize unit='KiB'>4096</pagesize>
          <nodemask>1-3</nodemask>
        </source>
        <target>
          <size unit='KiB'>524287</size>
          <node>1</node>
        </target>
      </memory>
      
      This patch preemptively forbids use of the <memory> device in individual
      drivers so the users are warned right away that the device is not
      supported.
      3e4230d2
  16. 19 3月, 2015 1 次提交
    • L
      util: clean up #includes of virnetdevopenvswitch.h · 451547a4
      Laine Stump 提交于
      virnetdevopenvswitch.h declares a few functions that can be called to
      add ports to and remove them from OVS bridges, and retrieve the
      migration data for a port. It does not contain any data definitions
      that are used by domain_conf.h. But for some reason, domain_conf.h
      virnetdevopenvswitch.h should be directly #including it. This adds a
      few lines to the project, but saves all the files that don't need it
      from the extra computing, and makes the dependencies more clear cut.
      451547a4
  17. 18 3月, 2015 2 次提交
  18. 16 3月, 2015 1 次提交
    • P
      conf: Replace access to def->mem.max_balloon with accessor functions · 4f9907cd
      Peter Krempa 提交于
      As there are two possible approaches to define a domain's memory size -
      one used with legacy, non-NUMA VMs configured in the <memory> element
      and per-node based approach on NUMA machines - the user needs to make
      sure that both are specified correctly in the NUMA case.
      
      To avoid this burden on the user I'd like to replace the NUMA case with
      automatic totaling of the memory size. To achieve this I need to replace
      direct access to the virDomainMemtune's 'max_balloon' field with
      two separate getters depending on the desired size.
      
      The two sizes are needed as:
      1) Startup memory size doesn't include memory modules in some
      hypervisors.
      2) After startup these count as the usable memory size.
      
      Note that the comments for the functions are future aware and document
      state that will be present after a few later patches.
      4f9907cd
  19. 06 3月, 2015 1 次提交
    • P
      memtune: change the way how we store unlimited value · cf521fc8
      Pavel Hrdina 提交于
      There was a mess in the way how we store unlimited value for memory
      limits and how we handled values provided by user.  Internally there
      were two possible ways how to store unlimited value: as 0 value or as
      VIR_DOMAIN_MEMORY_PARAM_UNLIMITED.  Because we chose to store memory
      limits as unsigned long long, we cannot use -1 to represent unlimited.
      It's much easier for us to say that everything greater than
      VIR_DOMAIN_MEMORY_PARAM_UNLIMITED means unlimited and leave 0 as valid
      value despite that it makes no sense to set limit to 0.
      
      Remove unnecessary function virCompareLimitUlong.  The update of test
      is to prevent the 0 to be miss-used as unlimited in future.
      
      Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1146539Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
      cf521fc8
  20. 26 2月, 2015 2 次提交
    • L
      qemu: fix ifindex array reported to systemd · 4bbe1029
      Laine Stump 提交于
      Commit f7afeddc added code to report to systemd an array of interface
      indexes for all tap devices used by a guest. Unfortunately it not only
      didn't add code to report the ifindexes for macvtap interfaces
      (interface type='direct') or the tap devices used by type='ethernet',
      it ended up sending "-1" as the ifindex for each macvtap or hostdev
      interface. This resulted in a failure to start any domain that had a
      macvtap or hostdev interface (or actually any type other than
      "network" or "bridge").
      
      This patch does the following with the nicindexes array:
      
      1) Modify qemuBuildInterfaceCommandLine() to only fill in the
      nicindexes array if given a non-NULL pointer to an array (and modifies
      the test jig calls to the function to send NULL). This is because
      there are tests in the test suite that have type='ethernet' and still
      have an ifname specified, but that device of course doesn't actually
      exist on the test system, so attempts to call virNetDevGetIndex() will
      fail.
      
      2) Even then, only add an entry to the nicindexes array for
      appropriate types, and to do so for all appropriate types ("network",
      "bridge", and "direct"), but only if the ifname is known (since that
      is required to call virNetDevGetIndex().
      4bbe1029
    • L
      network: only clear bandwidth if it has been set · 118b2408
      Laine Stump 提交于
      libvirt was unconditionally calling virNetDevBandwidthClear() for
      every interface (and network bridge) of a type that supported
      bandwidth, whether it actually had anything set or not. This doesn't
      hurt anything (unless ifname == NULL!), but is wasteful.
      
      This patch makes sure that all calls to virNetDevBandwidthClear() are
      qualified by checking that the interface really had some bandwidth
      setup done, and checks for a null ifname inside
      virNetDevBandwidthClear(), silently returning success if it is null
      (as well as removing the ATTRIBUTE_NONNULL from that function's
      prototype, since we can't guarantee that it is never null,
      e.g. sometimes a type='ethernet' interface has no ifname as it is
      provided on the fly by qemu).
      118b2408
  21. 13 2月, 2015 1 次提交
  22. 10 2月, 2015 2 次提交
  23. 28 1月, 2015 2 次提交
    • J
      hotplug: only add a chardev to vmdef after monitor call · 21e0e886
      Ján Tomko 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1161024
      
      This way the device is in vmdef only if ret = 0 and the caller
      (qemuDomainAttachDeviceFlags) does not free it.
      
      Otherwise it might get double freed by qemuProcessStop
      and qemuDomainAttachDeviceFlags if the domain crashed
      in monitor after we've added it to vm->def.
      21e0e886
    • J
      Split qemuDomainChrInsert into two parts · daf51be5
      Ján Tomko 提交于
      Do the allocation first, then add the actual device.
      The second part should never fail. This is good
      for live hotplug where we don't want to remove the device
      on OOM after the monitor command succeeded.
      
      The only change in behavior is that on failure, the
      vmdef->consoles array is freed, not just the first console.
      daf51be5
  24. 27 1月, 2015 1 次提交