1. 25 7月, 2015 2 次提交
    • L
      qemu: reorganize loop in qemuDomainAssignPCIAddresses · 07268782
      Laine Stump 提交于
      This loop occurs just after we've assured that all devices that
      require a PCI device have been assigned and all necessary PCI
      controllers have been added. It is the perfect place to add other
      potentially auto-generated PCI controller attributes that are
      dependent on the controller's PCI address (upcoming patch).
      
      There is a convenient loop through all controllers at the end of the
      function, but the patch to add new functionality will be cleaner if we
      first rearrange that loop a bit.
      
      Note that the loop originally was accessing info.addr.pci.bus prior to
      determining that the pci part of the object was valid. This isn't
      dangerous in any way, but seemed a bit ugly, so I fixed it.
      07268782
    • L
      conf: pay attention to bus minSlot/maxSlot when autoassigning PCI addresses · d4cf72af
      Laine Stump 提交于
      The function that auto-assigns PCI addresses was written with the
      hardcoded assumptions that any PCI bus would have slots available
      starting at 1 and ending at 31. This isn't true for many types of
      controllers (some have a single slot/port at 0, some have slots/ports
      from 0 to 31). This patch updates that function to remove the
      hardcoded assumptions. It will properly find/assign addresses for
      devices that can only connect to pcie-(root|downstream)-port (which
      have minSlot/maxSlot of 0/0) or a pcie-switch-upstream-port (0/31).
      
      It still will not auto-create a new bus of the proper kind for these
      connections when one doesn't exist, that task is for another day.
      d4cf72af
  2. 24 7月, 2015 7 次提交
  3. 23 7月, 2015 3 次提交
  4. 22 7月, 2015 18 次提交
  5. 21 7月, 2015 10 次提交
    • 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
    • P
      a538ff8d
新手
引导
客服 返回
顶部