Package: libvirt / 0.9.12.3-1+deb7u1

patch-qemuMonitorTextGetMigrationStatus-to-intercept.patch Patch series | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
From: =?UTF-8?q?Andreas=20Bie=C3=9Fmann?= <biessmann@corscience.de>
Date: Thu, 18 Mar 2010 13:05:59 +0100
Subject: patch qemuMonitorTextGetMigrationStatus to intercept unknown command
 'info migrate'

Debian package kvm up to version 72 has not implemented the command 'info migrate'.
This command interface returns help page of info commands and looks like this:

---8<---
info version  -- show the version of qemu
info network  -- show the network state
info block  -- show the block devices
info blockstats  -- show block device statistics
info registers  -- show the cpu registers
info cpus  -- show infos for each CPU
info history  -- show the command line history
info irq  -- show the interrupts statistics (if available)
info pic  -- show i8259 (PIC) state
info pci  -- show PCI info
info tlb  -- show virtual to physical memory mappings
info mem  -- show the active virtual memory mappings
info jit  -- show dynamic compiler info
info kqemu  -- show kqemu information
info kvm  -- show kvm information
info usb  -- show guest USB devices
info usbhost  -- show host USB devices
info profile  -- show profiling information
info capture  -- show capture information
info snapshots  -- show the currently saved VM snapshots
info pcmcia  -- show guest PCMCIA status
info mice  -- show which guest mouse is receiving events
info vnc  -- show the vnc server status
info name  -- show the current VM name
info slirp  -- show SLIRP statistics
info migration  -- show migration information
--->8---

This patch triggers for 'info migration' in reply to 'info migrate' command
to savely detect that the command 'info migrate' is not implemented.
---
 src/qemu/qemu_monitor_text.c |   10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/qemu/qemu_monitor_text.c b/src/qemu/qemu_monitor_text.c
index 9e2991b..96539b5 100644
--- a/src/qemu/qemu_monitor_text.c
+++ b/src/qemu/qemu_monitor_text.c
@@ -1654,7 +1654,15 @@ int qemuMonitorTextGetMigrationStatus(qemuMonitorPtr mon,
             }
             *total += disk_total * 1024;
         }
-    }
+    } else if (strstr(reply, "info migration") != NULL) {
+        /* 'info migrate' returned help for info commands and the help page
+         * advertises 'info migration' command. Therefore we have an old
+         * command implementation installed and this must be kvm 72 on debian */
+        qemuReportError(VIR_ERR_INTERNAL_ERROR,
+                        _("command 'info migrate' is not implemented in kvm,"
+                          " please update to qemu-kvm"));
+        goto cleanup;
+   }
 
 done:
     ret = 0;