qemu: Don't double-free disk->mirror if block commit initialization fails
qemu: Don't double-free disk->mirror if block commit initialization fails

disk->mirror would not be cleared while the local pointer was freed in
qemuDomainBlockCommit if qemuDomainObjExitMonitor or qemuBlockJobDiskNew
would return a failure.

Since block job handling is executed in the separate handler which needs
a qemu job, we don't need to pre-set the mirror state prior to starting
the job. Similarly the block copy job does not do that.

Move the setting of the data after starting the job so that we avoid
this problem.

Signed-off-by: Peter Krempa <2cf5c04c61aa466e4a47bfedc747d17279c72ffc@redhat.com>
Reviewed-by: John Ferlan <87558058f6f829e5ec976c8ef960720af4ff9c7d@redhat.com>

fabianfreyer/libvirt,olafhering/libvirt,jfehlig/libvirt,jardasgit/libvirt,olafhering/libvirt,andreabolognani/libvirt,jfehlig/libvirt,eskultety/libvirt,jardasgit/libvirt,zippy2/libvirt,crobinso/libvirt,zippy2/libvirt,andreabolognani/libvirt,nertpinx/libvirt,libvirt/libvirt,nertpinx/libvirt,libvirt/libvirt,fabianfreyer/libvirt,crobinso/libvirt,crobinso/libvirt,eskultety/libvirt,fabianfreyer/libvirt,jardasgit/libvirt,nertpinx/libvirt,crobinso/libvirt,jardasgit/libvirt,jfehlig/libvirt,olafhering/libvirt,andreabolognani/libvirt,libvirt/libvirt,andreabolognani/libvirt,andreabolognani/libvirt,eskultety/libvirt,olafhering/libvirt,nertpinx/libvirt,eskultety/libvirt,jardasgit/libvirt,libvirt/libvirt,jfehlig/libvirt,eskultety/libvirt,fabianfreyer/libvirt,zippy2/libvirt,nertpinx/libvirt,zippy2/libvirt,fabianfreyer/libvirt