blob: 0198a8a0cc0b5a1c4fe0d02daf723f60be2466a5 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
colo: secondary vm can't receive any packet
Following document 'COLO-FT.txt', I test colo feature on my hosts. It seems goes well,but I found the secondary vm can't receive any packets. I attached the process and find out the reason as follow, the filter-redirector(red0) didn't flush it's queue because the secondary vm in migrate state(RUN_STATE_INMIGRATE) :
int qemu_can_send_packet(NetClientState *sender)
{
int vm_running = runstate_is_running():
if (!vm_running) { // it will return false on the secondary vm
return 0;
}
------
}
How does it produce outbound packets in the secondary vm as it in migrate state?
static void *qemu_kvm_cpu_thread_fn(void *arg)
{
------
do {
if (cpu_can_run(cpu)) { // it will return false on the secondary vm
r = kvm_cpu_exec(cpu);
------
}
|