Re: libvirtError: block copy still active: disk not ready for pivot yet

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jan 04, 2017 at 07:16:03PM +0200, Ala Hino wrote:
> I understand that libvirt provides async events that are triggered once the
> block job reaches ready state and successfully pivots as it is reported by
> qemu.
> Whats the event that is triggered and what's the handler that we have to
> implement?

The exact event is: BLOCK_JOB_READY

Also, as Peter Krempa once pointed out, the above is exposed via XML:

  Libvirt expose the state of the copy job in the XML and forward the
  READY event from qemu to the users.

  A running copy job exposes itself in the xml as:
  
      <disk type='file' device='cdrom'>
        <driver name='qemu' type='raw'/>
        <source file='/var/lib/libvirt/images/systemrescuecd-x86-4.8.0.iso'/>
        <backingStore/>
        <mirror type='file' file='/tmp/ble.img' format='raw' job='copy'>
          <format type='raw'/>
          <source file='/tmp/ble.img'/>
        </mirror>
        [...]
      </disk>
  
  While the ready copy job is exposed as:
  
      <disk type='file' device='cdrom'>
        <driver name='qemu' type='raw'/>
        <source file='/var/lib/libvirt/images/systemrescuecd-x86-4.8.0.iso'/>
        <backingStore/>
        <mirror type='file' file='/tmp/ble.img' format='raw' job='copy' ready='yes'>
          <format type='raw'/>
          <source file='/tmp/ble.img'/>
        </mirror>
        [...]
      </disk>

> To be more specific, I am looking for the onEVENT callback method that is
> invoked when the event is fired.

Afraid, I don't know the exact callback you have to implement.  Perhaps
Peter or Eric Blake can say.

But some more related context (lots of reading), as the issue is a bit
more complicated.

You might also want to look at the below two bugs:

    https://bugzilla.redhat.com/show_bug.cgi?id=1382165 --
    virDomainGetBlockJobInfo: Adjust job reporting based on QEMU stats &
    the "ready" field of `query-block-jobs`

And (now fixed):

    https://bugzilla.redhat.com/show_bug.cgi?id=1372613 --  Improve live
    block device job status reporting via virDomainBlockJobInfo() 

And may want to go through this entire thread:

    https://www.redhat.com/archives/libvir-list/2016-October/msg00217.html
    -- RFC: Exposing "ready" bool (of `query-block-jobs`) or QMP
    BLOCK_JOB_READY event


[...]

-- 
/kashyap

_______________________________________________
libvirt-users mailing list
libvirt-users@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvirt-users



[Index of Archives]     [Virt Tools]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]

  Powered by Linux