[libvirt] qemu_migration: Precreate missing storage breaks with network drives

Michal Privoznik mprivozn at redhat.com
Thu Mar 19 10:45:32 UTC 2015


On 18.03.2015 22:00, Nick Bartos wrote:
> Actually I messed that up slightly on the case.  My C is a bit rusty:
> 
> diff -U3 -r libvirt-1.2.13.orig/src/qemu/qemu_migration.c
> libvirt-1.2.13/src/qemu/qemu_migration.c
> --- libvirt-1.2.13.orig/src/qemu/qemu_migration.c2015-02-23
> 22:04:12.000000000 -0800
> +++ libvirt-1.2.13/src/qemu/qemu_migration.c2015-03-18
> 13:55:45.873322477 -0700
> @@ -1507,9 +1507,12 @@
>              flags |= VIR_STORAGE_VOL_CREATE_PREALLOC_METADATA;
>          break;
>  
> +    case VIR_STORAGE_TYPE_NETWORK:
> +        ret = 0;
> +        goto cleanup;
> +        break;
>      case VIR_STORAGE_TYPE_BLOCK:
>      case VIR_STORAGE_TYPE_DIR:
> -    case VIR_STORAGE_TYPE_NETWORK:
>      case VIR_STORAGE_TYPE_NONE:
>      case VIR_STORAGE_TYPE_LAST:
>          virReportError(VIR_ERR_INTERNAL_ERROR,

Sounds reasonable to me. Although I'm worried that there might be users
using network disk, supplying different XML on migration, where the disk
is switched to yet non-existent network disk, expecting libvirt/qemu to
copy the data.

The other option is: libvirt won't copy shared or read only disks. So
OpenStack would mark network disks as shared.

One way or another - do you want to propose a patch or should I do that?

Michal




More information about the libvir-list mailing list