Re: [PATCH] qemu-migration: Disallow migration of read only disk

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

 



On Wed, Sep 14, 2016 at 10:37:07AM -0400, Corey S. McQuay wrote:
> Currently Libvirt allows attempts to migrate read only disks. Qemu cannot handle this as read only
> disks cannot be written to on the destination system. The end result is a cryptic error message
> and a failed migration.
> 
> This patch causes migration to fail earlier and provides a meaningful error message stating that
> migrating read only disks is not supported.
> 
> Signed-off-by: Corey S. McQuay <csmcquay@xxxxxxxxxxxxxxxxxx>
> Reviewed-by: Jason J. Herne <jjherne@xxxxxxxxxxxxxxxxxx>
> Reviewed-by: Boris Fiuczynski <fiuczy@xxxxxxxxxxxxxxxxxx>
> ---
>  src/qemu/qemu_migration.c | 25 +++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
> 
> diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
> index e451ef6..3311711 100644
> --- a/src/qemu/qemu_migration.c
> +++ b/src/qemu/qemu_migration.c
> @@ -2392,6 +2392,28 @@ qemuMigrationIsSafe(virDomainDefPtr def,
>      return true;
>  }
>  
> +static bool
> +qemuMigrationAreAllDisksRW(virDomainDefPtr def,
> +                    size_t nmigrate_disks,
> +                    const char **migrate_disks)
> +{
> +    size_t i;
> +
> +    for (i = 0; i < def->ndisks; i++) {
> +        virDomainDiskDefPtr disk = def->disks[i];
> +
> +        if (qemuMigrateDisk(disk, nmigrate_disks, migrate_disks) &&
> +            disk->src->readonly) {
> +            virReportError(VIR_ERR_OPERATION_UNSUPPORTED,
> +                       _("Cannot migrate read-only disk %s"),
> +                       disk->dst);
> +            return false;
> +        }
> +    }
> +
> +    return true;
> +}

We already have multiple places in the migration code which iterate
over all disks, determining which are migratable. IMHO we should
just add an readonly check in one of those, rather than adding yet
another iteration.


Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]