[libvirt] [PATCH] Only check for cluster fs if we're using a filesystem

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 --- src/qemu/qemu_migration.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index b58380b..a1fb962 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -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" -- 1.7.10

On Fri, Jun 08, 2012 at 02:19:08PM +0200, Guido Günther wrote:
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 --- src/qemu/qemu_migration.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index b58380b..a1fb962 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -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; + }
ACK 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 :|

On Fri, Jun 08, 2012 at 03:34:41PM +0100, Daniel P. Berrange wrote:
On Fri, Jun 08, 2012 at 02:19:08PM +0200, Guido Günther wrote:
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 --- src/qemu/qemu_migration.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index b58380b..a1fb962 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -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; + }
ACK Pushed. Thanks, -- Guido
participants (2)
-
Daniel P. Berrange
-
Guido Günther