In our case the network disk is available on the dest before we call migration.  It's an openstack volume mounted via ceph.  If we disable the copy-check in qemu_migration.c the migration works fine. 

On Mon, Mar 23, 2015 at 12:17 AM, Michal Privoznik <mprivozn@redhat.com> wrote:
On 20.03.2015 20:23, Noel Burton-Krahn wrote:
> Hi Michal,
>
> I think issuing a libvirt migrate to a host where the network disks
> don't already exist would be a prequisite failure.  Libvirt can never
> copy a network disk, but it shouldn't fail trying to migrate an existing
> domain that contains a network disk.  If a libvirt user wishes to
> migrate a domain that contains a network disk, it's their responsibility
> to ensure the disk exists before calling migrate.

That's how it was back in the old days. Then libvirt introduced storage
migration, but requiring users to pre-create storage on destination
themselves. And just recently I taught libvirt to automatically
pre-create the storage. However, not for all disk types.

If a disk on destination is missing, it's likely broken guest ABI
libvirt should have not allowed migration in the first place. How come
the migration was allowed?

Michal