1. 22 7月, 2015 8 次提交
  2. 21 7月, 2015 14 次提交
    • P
      virsh: Refactor block job waiting in cmdBlockCopy · faa14391
      Peter Krempa 提交于
      Similarly to the refactor of cmdBlockCommit in a previous commit this
      does the same change for cmdBlockCopy.
      faa14391
    • P
      virsh: Refactor block job waiting in cmdBlockCommit · 74084035
      Peter Krempa 提交于
      Reuse the vshBlockJobWait infrastructure to refactor cmdBlockCommit to
      use the common code. This additionally fixes a bug when working with
      new qemus, where when doing an active commit with --pivot the pivoting
      would fail, since qemu reaches 100% completion but the job doesn't
      switch to synchronized phase right away.
      74084035
    • P
      virsh: Refactor block job waiting in cmdBlockPull · 2e782763
      Peter Krempa 提交于
      Introduce helper function that will provide logic for waiting for block
      job completion so the 3 open coded places can be unified and improved.
      
      This patch introduces the whole logic and uses it to fix
      cmdBlockJobPull. The vshBlockJobWait function provides common logic for
      block job waiting that should be robust enough to work across all
      previous versions of libvirt. Since virsh allows passing user-provided
      strings as paths of block devices we can't reliably use block job events
      for detection of block job states so the function contains a great deal
      of fallback logic.
      2e782763
    • P
      qemu: Update state of block job to READY only if it actually is ready · eae59247
      Peter Krempa 提交于
      Few parts of the code looked at the current progress of and assumed that
      a two phase blockjob is in the _READY state as soon as the progress
      reached 100% (info.cur == info.end). In current versions of qemu this
      assumption is invalid and qemu exposes a new flag 'ready' in the
      query-block-jobs output that is set to true if the job is actually
      finished.
      
      This patch adds internal data handling for reading the 'ready' flag and
      acting appropriately as long as the flag is present.
      
      While this still doesn't fix the virsh client problem with two phase
      block jobs and the --pivot option, it at least improves the error
      message:
      
      $ virsh blockcommit  --wait --verbose vm vda  --base vda[1] --active --pivot
      Block commit: [100 %]error: failed to pivot job for disk vda
      error: internal error: unable to execute QEMU command 'block-job-complete': The active block job for device 'drive-virtio-disk0' cannot be completed
      
      to
      
      $ virsh blockcommit  --wait --verbose VM vda  --base vda[1] --active --pivot
      Block commit: [100 %]error: failed to pivot job for disk vda
      error: block copy still active: disk 'vda' not ready for pivot yet
      eae59247
    • P
      virsh: Refactor argument handling in cmdBlockPull · 44b18323
      Peter Krempa 提交于
      Put all argument parsing together and refactor the argument checking
      code.
      44b18323
    • P
      virsh: Refactor argument handling in cmdBlockCopy · 8e85f628
      Peter Krempa 提交于
      Put all argument parsing together and refactor the argument checking
      code.
      8e85f628
    • P
      virsh: Refactor argument checking in cmdBlockCommit · bd687cf9
      Peter Krempa 提交于
      Use the VSH_EXCLUSIVE_OPTIONS to exclude combinations of --pivot and
      --keep-overlay and refactor the enforcing of the --wait option and other
      flags that imply --wait.
      bd687cf9
    • P
      virsh: Kill blockJobImpl by moving the final impl into cmdBlockCommit · 5dceea2c
      Peter Krempa 提交于
      Final cleanup to get rid of the hub function.
      5dceea2c
    • P
      bb5a145d
    • P
      virsh: block job: separate abort from blockJobImpl · a538ff8d
      Peter Krempa 提交于
      a538ff8d
    • P
      42c9c6fc
    • P
      virsh: cmdBlockJob: Switch to declarative flag interlocking · 2f12cb93
      Peter Krempa 提交于
      Use the VSH_EXCLUSIVE_OPTIONS_VAR to interlock incompatible options.
      Since a variable named 'abort' would conflict with older compilers use
      VSH_EXCLUSIVE_OPTIONS for the --abort option.
      2f12cb93
    • P
      virsh: blockjob: Extract block job info code into a separate function · dda95b53
      Peter Krempa 提交于
      cmdBlockJob will be converted to a hub that will call into the
      individual executor functions.
      dda95b53
    • M
      nodedev: add RDMA and tx-udp_tnl-segmentation NIC capabilities · ac3ed208
      Moshe Levi 提交于
      Adding functionality to libvirt that will allow
      it query the interface for the availability of RDMA and
      tx-udp_tnl-segmentation Offloading NIC capabilities
      
      Here is an example of the feature XML definition:
      
      <device>
      <name>net_eth4_90_e2_ba_5e_a5_45</name>
        <path>/sys/devices/pci0000:00/0000:00:03.0/0000:08:00.1/net/eth4</path>
        <parent>pci_0000_08_00_1</parent>
        <capability type='net'>
          <interface>eth4</interface>
          <address>90:e2:ba:5e:a5:45</address>
          <link speed='10000' state='up'/>
          <feature name='rx'/>
          <feature name='tx'/>
          <feature name='sg'/>
          <feature name='tso'/>
          <feature name='gso'/>
          <feature name='gro'/>
          <feature name='rxvlan'/>
          <feature name='txvlan'/>
          <feature name='rxhash'/>
          <feature name='rdma'/>
          <feature name='txudptnl'/>
          <capability type='80203'/>
        </capability>
      </device>
      ac3ed208
  3. 20 7月, 2015 4 次提交
    • R
      nodeinfo: fix build on FreeBSD · e46791e0
      Roman Bogorodskiy 提交于
      Currently, build fails on FreeBSD with:
      
        CC       libvirt_driver_la-nodeinfo.lo
      nodeinfo.c:1941:56: error: use of undeclared identifier 'SYSFS_SYSTEM_PATH'
          const char *prefix = sysfs_prefix ? sysfs_prefix : SYSFS_SYSTEM_PATH;
                                                             ^
      1 error generated.
      
      This is caused by commit b97b3048 that added sysfs_prefix to
      nodeCapsInitNUMA and used SYSFS_CPU_PATH.
      
      Fix it by unconditionally defining SYSFS_CPU_PATH instead of defining it
      under #ifdef __linux__.
      e46791e0
    • M
      qemu: Reject updating unsupported disk information · 717c99f3
      Martin Kletzander 提交于
      If one calls update-device with information that is not updatable,
      libvirt reports success even though no data were updated.  The example
      used in the bug linked below uses updating device with <boot order='2'/>
      which, in my opinion, is a valid thing to request from user's
      perspective.  Mainly since we properly error out if user wants to update
      such data on a network device for example.
      
      And since there are many things that might happen (update-device on disk
      basically knows just how to change removable media), check for what's
      changing and moreover, since the function might be usable in other
      drivers (updating only disk path is a valid possibility) let's abstract
      it for any two disks.
      
      We can't possibly check for everything since for many fields our code
      does not properly differentiate between default and unspecified values.
      Even though this could be changed, I don't feel like it's worth the
      complexity so it's not the aim of this patch.
      
      Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1007228
      717c99f3
    • M
      Escape left brace as new perl suggests · 0aa81bbd
      Martin Kletzander 提交于
      After upgrade to perl-5.22.0, it started complaining about one of our
      scripts.  The thing is that even though it works, it wants all curly
      brackets escaped properly.  The change is not functional, it merely gets
      rid of the following error:
      
        Unescaped left brace in regex is deprecated, passed through in regex;
        marked by <-- HERE in m/^enum { <-- HERE / at -e line 3.
      
      There is one more error like this that I'm getting, but it is because of
      GNU automake bug #21001:
      
        https://debbugs.gnu.org/cgi/bugreport.cgi?bug=21001Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
      0aa81bbd
    • F
      qemu: Use heads parameter for QXL driver · 7b401c3b
      Frediano Ziglio 提交于
      Allows to specify maximum number of head to QXL driver.
      
      Actually can be a compatiblity problem as heads in the XML configuration
      was set by default to '1'.
      Signed-off-by: NFrediano Ziglio <fziglio@redhat.com>
      7b401c3b
  4. 17 7月, 2015 6 次提交
  5. 16 7月, 2015 1 次提交
  6. 15 7月, 2015 7 次提交