1. 13 9月, 2016 1 次提交
  2. 09 9月, 2016 1 次提交
  3. 06 9月, 2016 1 次提交
  4. 03 9月, 2016 1 次提交
    • N
      qemu: Filter cur_balloon ABI check for certain transactions · c62e79c8
      Nikolay Shirokovskiy 提交于
      Since the domain lock is not held during preparation of an external XML
      config, it is possible that the value can change resulting in unexpected
      failures during ABI consistency checking for some save and migrate
      operations.
      
      This patch adds a new flag to skip the checking of the cur_balloon value
      and then sets the destination value to the source value to ensure
      subsequent checks without the skip flag will succeed.
      
      This way it is protected from forges and is keeped up to date too.
      Signed-off-by: NNikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
      c62e79c8
  5. 02 9月, 2016 1 次提交
  6. 25 8月, 2016 1 次提交
  7. 15 8月, 2016 1 次提交
    • J
      Introduce node device update event as top level event · 43a6b37b
      Jovanka Gulicoska 提交于
      This event is emitted when a nodedev XML definition is updated,
      like when cdrom media is changed in a cdrom block device.
      
      Also includes node device update event implementation for udev
      backend, virsh nodedev-event support, and event-test support
      43a6b37b
  8. 02 8月, 2016 1 次提交
  9. 28 7月, 2016 1 次提交
    • J
      util: Introduce virISCSINodeNew · ae65c908
      John Ferlan 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1356436
      
      According to RFC 3721 (https://www.ietf.org/rfc/rfc3721.txt), there are
      two ways to "discover" targets in/for the iSCSI environment. Discovery
      is the process which allows the initiator to find the targets to which
      it has access and at least one address at which each target may be
      accessed.
      
      The method currently implemented in libvirt using the virISCSIScanTargets
      API is known as "SendTargets" discovery. This method is more useful when
      the target IP Address and TCP port information are available, e.g. in
      libvirt terms the "portal". It returns a list of targets for the portal.
      From that list, the target can be found. This operation can also fill an
      iSCSI node table into which iSCSI logins may occur. Commit id '56057900'
      altered that filling by adding the "--op nonpersistent" since it was
      not necessarily desired to perform that for non libvirt related targets.
      
      The second method is "Static Configuration". This method not only needs
      the IP Address and TCP port (e.g. portal), but also the iSCSI target name.
      In libvirt terms this would be the device path field from the iSCSI pool
      <source> XML. This patch implements the second methodology using that
      required device path as the targetname.
      ae65c908
  10. 27 7月, 2016 7 次提交
    • P
      qemu: command: Add infrastructure for object specified disk sources · f4441017
      Peter Krempa 提交于
      To allow richer definitions of disk sources add infrastructure that will
      allow to register functionst generating a JSON object based definition.
      
      This infrastructure will then convert the definition to the proper
      command line syntax and use it in cases where it's necessary. This will
      allow to keep legacy definitions for back-compat when possible and use
      the new definitions for the configurations requiring them.
      f4441017
    • P
      util: qemu: Add support for numbered array members · 74df83a9
      Peter Krempa 提交于
      Add support for converting objects nested in arrays with a numbering
      discriminator on the command line. This syntax is used for the
      object-based specification of disk source properties.
      74df83a9
    • P
      util: qemu: Allow for different approaches to format JSON arrays · b7eef33d
      Peter Krempa 提交于
      For use with memory hotplug virQEMUBuildCommandLineJSONRecurse attempted
      to format JSON arrays as bitmap on the command line. Make the formatter
      function configurable so that it can be reused with different syntaxes
      of arrays such as numbered arrays for use with disk sources.
      
      This patch extracts the code and adds a parameter for the function that
      will allow to plug in different formatters.
      b7eef33d
    • P
      util: qemu: Add wrapper for JSON -> commandline conversion · f0276c34
      Peter Krempa 提交于
      Refactor the command line generator by adding a wrapper (with
      documentation) that will handle the outermost object iteration.
      
      This patch also renames the functions and tweaks the error message for
      nested arrays to be more universal.
      
      The new function is then reused to simplify qemucommandutiltest.
      f0276c34
    • P
      tests: Add testing of backing store string parser · 4e3dbfa2
      Peter Krempa 提交于
      As we already test that the extraction of the backing store string works
      well additional tests for the backing store string parser can be made
      simpler.
      
      Export virStorageSourceNewFromBackingAbsolute and use it to parse the
      backing store strings, format them using virDomainDiskSourceFormat and
      match them against expected XMLs.
      4e3dbfa2
    • J
      Remove unnecessary virDomainDefClearDeviceAliases · fc0378a9
      John Ferlan 提交于
      Nothing in the code path after the removed call has needs/uses the alias
      anyway (as would be the case for command line building or talking to monitor).
      The alias is VIR_FREE'd in virDomainDeviceInfoClear which is called for any
      device that needs/uses an alias via virDomainDeviceDefFree or virDomainDefFree
      as well as during virDomainDeviceInfoFree for host devices.
      
      For persistent domains, the domain definition (including aliases) gets
      freed a few screens later when it's replaced with newDef.
      
      For transient domains, the definition is freed/unref'd along with the
      virDomainObj a few moments later.
      fc0378a9
    • J
      conf: Remove CCW,PCI clear address helpers · d95f5beb
      John Ferlan 提交于
      Since commit id 'fb063500' these are no longer called, so remove them
      d95f5beb
  11. 26 7月, 2016 1 次提交
    • T
      add virDomainVirtioSerialAddrSetCreateFromDomain · 40c284f0
      Tomasz Flendrich 提交于
      The address sets (pci, ccw, virtio serial) are currently cached
      in qemu private data, but all the information required to recreate
      these sets is in the domain definition. Therefore I am removing
      the redundant data and adding a way to recalculate these sets.
      
      Add a function that calculates the virtio serial address set
      from the domain definition.
      
      Credit goes to Cole Robinson.
      40c284f0
  12. 21 7月, 2016 6 次提交
    • J
      Auto-add one hub if there are too many USB devices · 815d98ac
      Ján Tomko 提交于
      When parsing a command line with USB devices that have
      no address specified, QEMU automatically adds a USB hub
      if the device would fill up all the available USB ports.
      
      To help most of the users, add one hub if there are more
      USB devices than available ports. For wilder configurations,
      expect the user to provide us with more hubs and/or controllers.
      815d98ac
    • J
      Assign addresses on USB device hotplug · f2a781ce
      Ján Tomko 提交于
      USB disks, redirected devices, host devices and serial devices
      are supported.
      f2a781ce
    • J
      Assign addresses to USB devices · bf182078
      Ján Tomko 提交于
      Automatically assign addresses to USB devices.
      
      Just like reserving, this is only done for newly defined domains.
      
      https://bugzilla.redhat.com/show_bug.cgi?id=1215968
      bf182078
    • J
      Reserve existing USB addresses · ddd31fd7
      Ján Tomko 提交于
      Check if they fit on the USB controllers the domain has,
      and error out if two devices try to use the same address.
      ddd31fd7
    • J
      Add functions for adding USB controllers to addrs · 6b3e4e2b
      Ján Tomko 提交于
      Walk through all the usb controllers in the domain definition
      and create the corresponding structures in the virDomainUSBAddressSet.
      6b3e4e2b
    • J
      Introduce virDomainUSBAddressSet · 82c142b3
      Ján Tomko 提交于
      A new type to track USB addresses.
      
      Every <controller type='usb' index='i'/> is represented by an
      object of type virDomainUSBAddressHub located at buses[i].
      
      Each of these hubs has up to 'nports' ports.
      If a port is occupied, it has the corresponding bit set in
      the 'ports' bitmap, e.g. port 1 would have the 0th bit set.
      If there is a hub on this port, then hubs[i] will point
      to this hub.
      82c142b3
  13. 19 7月, 2016 3 次提交
  14. 18 7月, 2016 1 次提交
    • J
      Store USB port path as an array of integers · f820d5bf
      Ján Tomko 提交于
      In preparation to tracking which USB addresses are occupied.
      Introduce two helper functions for printing the port path
      as a string and appending it to a virBuffer.
      f820d5bf
  15. 12 7月, 2016 2 次提交
  16. 07 7月, 2016 1 次提交
  17. 04 7月, 2016 3 次提交
  18. 02 7月, 2016 2 次提交
    • L
      util: new function virNetDevIPInfoAddToDev · 95309424
      Laine Stump 提交于
      This patch takes the code out of
      lxcContainerRenameAndEnableInterfaces() that adds all IP addresses and
      IP routes to the interface, and puts it into a utility function
      virNetDevIPInfoAddToDev() in virnetdevip.c so that it can be used by
      anyone.
      
      One small change in functionality -
      lxcContainerRenameAndEnableInterfaces() previously would add all IP
      addresses to the interface while it was still offline, then set the
      interface online, and then add the routes. Because I don't want the
      utility function to set the interface online, I've moved this up so
      the interface is first set online, then IP addresses and routes are
      added. This is the same order that the network service from
      initscripts (in ifup-ether) does it, so it shouldn't pose any problem
      (and hasn't, in the tests that I've run).
      
      (This patch had been pushed earlier in commit
      f1e0d0da, but was reverted in commit
      05eab475 because it had been
      accidentally pushed during the freeze for release 2.0.0)
      95309424
    • L
      util: new function virXMLNodeSanitizeNamespaces() · b874f26b
      Laine Stump 提交于
      This is a generic version of virDomainDefMetadataSanitize() - the same
      functionality is now needed for network metadata.
      b874f26b
  19. 01 7月, 2016 1 次提交
    • J
      Introduce virDomainUSBDeviceDefForeach · 492b3bfd
      Ján Tomko 提交于
      A helper that will execute a callback on every USB device
      in the domain definition.
      
      With an ability to skip USB hubs, since we will want to treat
      them differently in some cases.
      492b3bfd
  20. 27 6月, 2016 4 次提交
    • J
      Revert "util: new function virNetDevIPInfoAddToDev" · 05eab475
      Ján Tomko 提交于
      This reverts commit f1e0d0da.
      
      This feature was accidentally pushed in the feature freeze.
      05eab475
    • L
      util: new function virNetDevIPInfoAddToDev · f1e0d0da
      Laine Stump 提交于
      This patch takes the code out of
      lxcContainerRenameAndEnableInterfaces() that adds all IP addresses and
      IP routes to the interface, and puts it into a utility function
      virNetDevIPInfoAddToDev() in virnetdevip.c so that it can be used by
      anyone.
      
      One small change in functionality -
      lxcContainerRenameAndEnableInterfaces() previously would add all IP
      addresses to the interface while it was still offline, then set the
      interface online, and then add the routes. Because I don't want the
      utility function to set the interface online, I've moved this up so
      the interface is first set online, then IP addresses and routes are
      added. This is the same order that the network service from
      initscripts (in ifup-ether) does it, so it shouldn't pose any problem
      (and hasn't, in the tests that I've run).
      f1e0d0da
    • L
      conf: single object containing list of IP addresses, list of routes · 9911562a
      Laine Stump 提交于
      There are currently two places in the domain where this combination is
      used, and there is about to be another. This patch puts them together
      for brevity and uniformity.
      
      As with the newly-renamed virNetDevIPAddr and virNetDevIPRoute
      objects, the new virNetDevIPInfo object will need to be accessed by a
      utility function that calls low level Netlink functions (so we don't
      want it to be in the conf directory) and will be called from multiple
      hypervisor drivers (so it can't be in any hypervisor directory); the
      most appropriate place is thus once again the util directory.
      
      The parse and format functions are in conf/domain_conf.c because only
      the domain XML (i.e. *not* the network XML) has this exact combination
      of IP addresses plus routes. Note that virDomainNetIPInfoFormat() will
      end up being the only caller to virDomainNetRoutesFormat() and
      virDomainNetIPsFormat(), so it will just subsume those functions in a
      later patch, but we can't do that until they are no longer called.
      
      (It would have been nice to include the interface name within the
      virNetDevIPInfo object (with a slight name change), but that can't
      be done cleanly, because in each case the interface name is provided
      in a different place in the XML relative to the routes and IP
      addresses, so putting it in this object would actually make the code
      more confused rather than simpler).
      9911562a
    • L
      util: move IP route & address object-related functions to virnetdevip.c · fa18e814
      Laine Stump 提交于
      These functions all need to be called from a utility function that
      must be located in the util directory, so we move them all into
      util/virnetdevip.[ch] now that it exists.
      
      Function and struct names were appropriately changed for the new
      location, but all code is unchanged aside from motion and renaming.
      fa18e814