[libvirt] [PATCH] qemu: add rbd to whitelist of migration-safe formats

QEMU (and librbd) flush the cache on the source before the destination starts, and the destination does not read any changeable data before that, so live migration with rbd caching is safe. This makes 'virsh migrate' work with rbd and caching without the --unsafe flag. Reported-by: Vladimir Bashkirtsev <vladimir@bashkirtsev.com> Signed-off-by: Josh Durgin <josh.durgin@inktank.com> --- src/qemu/qemu_migration.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index 48369d6..f51c99a 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -847,6 +847,9 @@ qemuMigrationIsSafe(virDomainDefPtr def) continue; else if (cfs < 0) return false; + } else if (disk->type == VIR_DOMAIN_DISK_TYPE_NETWORK && + disk->protocol == VIR_DOMAIN_DISK_PROTOCOL_RBD) { + continue; } qemuReportError(VIR_ERR_MIGRATE_UNSAFE, "%s", -- 1.7.9.5

On 07/02/2012 12:55 PM, Josh Durgin wrote:
QEMU (and librbd) flush the cache on the source before the destination starts, and the destination does not read any changeable data before that, so live migration with rbd caching is safe.
This makes 'virsh migrate' work with rbd and caching without the --unsafe flag.
Reported-by: Vladimir Bashkirtsev <vladimir@bashkirtsev.com> Signed-off-by: Josh Durgin <josh.durgin@inktank.com> --- src/qemu/qemu_migration.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index 48369d6..f51c99a 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -847,6 +847,9 @@ qemuMigrationIsSafe(virDomainDefPtr def) continue; else if (cfs < 0) return false; + } else if (disk->type == VIR_DOMAIN_DISK_TYPE_NETWORK && + disk->protocol == VIR_DOMAIN_DISK_PROTOCOL_RBD) { + continue; }
ACK. However, before I push, I note that you are previously listed in AUTHORS under a different email address. Which of the two addresses do you prefer, so that we can update .mailmap and keep 'make syntax-check' happy? -- Eric Blake eblake@redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org

On 07/02/2012 12:48 PM, Eric Blake wrote:
On 07/02/2012 12:55 PM, Josh Durgin wrote:
QEMU (and librbd) flush the cache on the source before the destination starts, and the destination does not read any changeable data before that, so live migration with rbd caching is safe.
This makes 'virsh migrate' work with rbd and caching without the --unsafe flag.
Reported-by: Vladimir Bashkirtsev<vladimir@bashkirtsev.com> Signed-off-by: Josh Durgin<josh.durgin@inktank.com> --- src/qemu/qemu_migration.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index 48369d6..f51c99a 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -847,6 +847,9 @@ qemuMigrationIsSafe(virDomainDefPtr def) continue; else if (cfs< 0) return false; + } else if (disk->type == VIR_DOMAIN_DISK_TYPE_NETWORK&& + disk->protocol == VIR_DOMAIN_DISK_PROTOCOL_RBD) { + continue; }
ACK. However, before I push, I note that you are previously listed in AUTHORS under a different email address. Which of the two addresses do you prefer, so that we can update .mailmap and keep 'make syntax-check' happy?
I prefer the @inktank.com one, thanks!

On 07/02/2012 02:42 PM, Josh Durgin wrote:
On 07/02/2012 12:48 PM, Eric Blake wrote:
On 07/02/2012 12:55 PM, Josh Durgin wrote:
QEMU (and librbd) flush the cache on the source before the destination starts, and the destination does not read any changeable data before that, so live migration with rbd caching is safe.
This makes 'virsh migrate' work with rbd and caching without the --unsafe flag.
ACK. However, before I push, I note that you are previously listed in AUTHORS under a different email address. Which of the two addresses do you prefer, so that we can update .mailmap and keep 'make syntax-check' happy?
I prefer the @inktank.com one, thanks!
Done and pushed. -- Eric Blake eblake@redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
participants (2)
-
Eric Blake
-
Josh Durgin