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;
+ }