1. 18 1月, 2019 8 次提交
  2. 20 7月, 2018 1 次提交
  3. 13 6月, 2018 1 次提交
  4. 10 5月, 2018 1 次提交
  5. 08 12月, 2017 1 次提交
    • P
      qemu: blockjob: Reset disk source index after pivot · fac8724c
      Peter Krempa 提交于
      Since we are re-detecting the backing chain after pivoting to the active
      block commit target (or block copy target) the disk index needs to be
      reset to 0. This is necessary since we move a member of the backing
      chain to disk->src but clear indexes only starting from
      disk->src->backingStore. The freshly detected images have indexes
      starting from 1, but since we've pivoted into an image which was
      previously a backing store it would have a non-0 index.
      The lookup function would then return the top of the chain for queries
      like 'vda[1]' instead of the first backing store.
      
      This problem will not be present once we keep the disk indexes stable.
      
      Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1519745
      fac8724c
  6. 06 12月, 2017 2 次提交
  7. 05 10月, 2017 2 次提交
  8. 27 4月, 2017 1 次提交
  9. 27 3月, 2017 1 次提交
  10. 09 2月, 2017 1 次提交
  11. 11 1月, 2017 1 次提交
  12. 05 2月, 2016 1 次提交
  13. 04 2月, 2016 1 次提交
    • J
      conf: add caps to virDomainSaveConfig · cd57b7c7
      Joao Martins 提交于
      virDomainSaveConfig calls virDomainDefFormat which was setting the caps
      to NULL, thus keeping the old behaviour (i.e. not looking at
      netprefix). This patch adds the virCapsPtr to the function and allows
      the configuration to be saved and skipping interface names that were
      registered with virCapabilitiesSetNetPrefix().
      Signed-off-by: NJoao Martins <joao.m.martins@oracle.com>
      cd57b7c7
  14. 18 9月, 2015 1 次提交
  15. 19 6月, 2015 3 次提交
  16. 21 5月, 2015 1 次提交
  17. 15 5月, 2015 1 次提交
  18. 29 4月, 2015 2 次提交
    • M
      qemuBlockJobSync*: introduce sync block job helpers · 89a5e25d
      Michael Chapman 提交于
      qemuBlockJobSyncBegin and qemuBlockJobSyncEnd delimit a region of code
      where block job events are processed "synchronously".
      qemuBlockJobSyncWait and qemuBlockJobSyncWaitWithTimeout wait for an
      event generated by a block job.
      
      The Wait* functions may be called multiple times while the synchronous
      block job is active. Any pending block job event will be processed by
      only when Wait* or End is called.  disk->blockJobStatus is reset by
      these functions, so if it is needed a pointer to a
      virConnectDomainEventBlockJobStatus variable should be passed as the
      last argument. It is safe to pass NULL if you do not care about the
      block job status.
      
      All functions assume the VM object is locked. The Wait* functions will
      unlock the object for as long as they are waiting. They will return -1
      and report an error if the domain exits before an event is received.
      
      Typical use is as follows:
      
        virQEMUDriverPtr driver;
        virDomainObjPtr vm; /* locked */
        virDomainDiskDefPtr disk;
        virConnectDomainEventBlockJobStatus status;
      
        qemuBlockJobSyncBegin(disk);
      
        ... start block job ...
      
        if (qemuBlockJobSyncWait(driver, vm, disk, &status) < 0) {
            /* domain died while waiting for event */
            ret = -1;
            goto error;
        }
      
        ... possibly start other block jobs
            or wait for further events ...
      
        qemuBlockJobSyncEnd(driver, vm, disk, NULL);
      
      To perform other tasks periodically while waiting for an event:
      
        virQEMUDriverPtr driver;
        virDomainObjPtr vm; /* locked */
        virDomainDiskDefPtr disk;
        virConnectDomainEventBlockJobStatus status;
        unsigned long long timeout = 500 * 1000ull; /* milliseconds */
      
        qemuBlockJobSyncBegin(disk);
      
        ... start block job ...
      
        do {
            ... do other task ...
      
            if (qemuBlockJobSyncWaitWithTimeout(driver, vm, disk,
                                                timeout, &status) < 0) {
                /* domain died while waiting for event */
                ret = -1;
                goto error;
            }
        } while (status == -1);
      
        qemuBlockJobSyncEnd(driver, vm, disk, NULL);
      Signed-off-by: NMichael Chapman <mike@very.puzzling.org>
      89a5e25d
    • M
      qemuBlockJobEventProcess: move to new source file · 206dbf3f
      Michael Chapman 提交于
      We will want to use synchronous block jobs from qemu_migration as well,
      so split this function out into a new source file.
      Signed-off-by: NMichael Chapman <mike@very.puzzling.org>
      206dbf3f