]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
Only check for cluster fs if we're using a filesystem
authorGuido Günther <agx@sigxcpu.org>
Wed, 6 Jun 2012 18:36:31 +0000 (20:36 +0200)
committerCole Robinson <crobinso@redhat.com>
Thu, 14 Jun 2012 22:38:26 +0000 (18:38 -0400)
otherwise migration fails for e.g. network filesystems like sheepdog
with:

   error: Invalid relative path 'virt-name': Invalid argument

while we should fail with:

    Migration may lead to data corruption if disks use cache != none

References:

    http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=676328
    https://www.redhat.com/archives/libvirt-users/2012-May/msg00088.html
(cherry picked from commit 3ac8fb54f4e6365e6252eae9995fb8333972ae94)

src/qemu/qemu_migration.c

index 78a4fb637648d8d797bff8da42ad950319aeb58d..4fec6464cc798c6f9d257ed2773fdcf94221d821 100644 (file)
@@ -840,10 +840,13 @@ qemuMigrationIsSafe(virDomainDefPtr def)
             !disk->readonly &&
             disk->cachemode != VIR_DOMAIN_DISK_CACHE_DISABLE) {
             int cfs;
-            if ((cfs = virStorageFileIsClusterFS(disk->src)) == 1)
-                continue;
-            else if (cfs < 0)
-                return false;
+
+            if (disk->type == VIR_DOMAIN_DISK_TYPE_FILE) {
+                if ((cfs = virStorageFileIsClusterFS(disk->src)) == 1)
+                    continue;
+                else if (cfs < 0)
+                    return false;
+            }
 
             qemuReportError(VIR_ERR_MIGRATE_UNSAFE, "%s",
                             _("Migration may lead to data corruption if disks"