I can't seem to get stable snapshotting and blockpull with a loaded VM.
Interestingly enough, the last command libvirt passes to qemu is:
2016-04-14 20:47:58.196+0000: 18932: debug : qemuMonitorJSONCommandWithFd:294 : Send command '{"execute":"query-block-jobs","id":"libvirt-69"}' for write with FD -1
2016-04-14 20:47:58.196+0000: 18932: info : qemuMonitorSend:1005 : QEMU_MONITOR_SEND_MSG: mon=0x7f1874001a30 msg={"execute":"query-block-jobs","id":"libvirt-69"}
2016-04-14 20:47:58.197+0000: 18929: info : qemuMonitorIOWrite:529 : QEMU_MONITOR_IO_WRITE: mon=0x7f1874001a30 buf={"execute":"query-block-jobs","id":"libvirt-69"}
Odd that it would SIGABRT on a smile query-block-jobs.
Even more interesting is that it crashes on the first or second or third snapshot/block-commit cycle when using EXT4, but would sometimes go for 30-40 cycles on ZFS.
Any ideas? I'm certainly willing to test and help in any way I can.
It still fails with ext4:
#0 0x00007fbaa12b33f8 in raise () at /lib64/libc.so.6
sectors_ per_chunk = 128
should_ complete = <optimized out>
last_pause_ ns = <optimized out> blocks_ are_zero = true, can_write_ zeroes_ with_unmap = true, needs_compresse d_writes = false}
backing_ filename = "\000"
target_ cluster_ size = <optimized out>
__PRETTY_ FUNCTION_ _ = "mirror_run" 0x5646bc50f480) at block/mirror.c:613
should_ complete = <optimized out>
last_pause_ ns = <optimized out> blocks_ are_zero = true, can_write_ zeroes_ with_unmap = true, needs_compresse d_writes = false}
backing_ filename = "\000"
target_ cluster_ size = <optimized out>
__PRETTY_ FUNCTION_ _ = "mirror_run" trampoline (i0=<optimized out>, i1=<optimized out>) at util/coroutine- ucontext. c:78
#1 0x00007fbaa12b4ffa in abort () at /lib64/libc.so.6
#2 0x00007fbaa12abc17 in __assert_fail_base () at /lib64/libc.so.6
#3 0x00007fbaa12abcc2 in () at /lib64/libc.so.6
#4 0x00005646b990f926 in mirror_run (s=0x5646bc50f480) at block/mirror.c:335
next_sector = 36659200
next_chunk = 286400
nb_chunks = 80
end = 209715200
source = 0x5646bcb70000
sector_num = 36648960
delay_ns = 0
delay_ns = 0
cnt = 15360
s = 0x5646bc50f480
data = <optimized out>
bs = 0x5646bcb70000
sector_num = <optimized out>
end = <optimized out>
length = <optimized out>
bdi = {cluster_size = 65536, vm_state_offset = 107374182400, is_dirty = false, unallocated_
ret = <optimized out>
n = 1048576
#5 0x00005646b990f926 in mirror_run (opaque=
delay_ns = 0
cnt = 15360
s = 0x5646bc50f480
data = <optimized out>
bs = 0x5646bcb70000
sector_num = <optimized out>
end = <optimized out>
length = <optimized out>
bdi = {cluster_size = 65536, vm_state_offset = 107374182400, is_dirty = false, unallocated_
ret = <optimized out>
n = 1048576
#6 0x00005646b997568a in coroutine_
self = 0x5646bc5115b0
co = 0x5646bc5115b0
#7 0x00007fbaa12c8560 in __start_context () at /lib64/libc.so.6
#8 0x00005646bd2b98b0 in ()
#9 0x0000000000000000 in ()
qemu-system-x86_64: block/mirror.c:335: mirror_iteration: Assertion `hbitmap_next == next_sector' failed.
I can't seem to get stable snapshotting and blockpull with a loaded VM.
Interestingly enough, the last command libvirt passes to qemu is:
2016-04-14 20:47:58.196+0000: 18932: debug : qemuMonitorJSON CommandWithFd: 294 : Send command '{"execute" :"query- block-jobs" ,"id":" libvirt- 69"}' for write with FD -1 :1005 : QEMU_MONITOR_ SEND_MSG: mon=0x7f1874001a30 msg={"execute" :"query- block-jobs" ,"id":" libvirt- 69"} ite:529 : QEMU_MONITOR_ IO_WRITE: mon=0x7f1874001a30 buf={"execute" :"query- block-jobs" ,"id":" libvirt- 69"}
2016-04-14 20:47:58.196+0000: 18932: info : qemuMonitorSend
2016-04-14 20:47:58.197+0000: 18929: info : qemuMonitorIOWr
Odd that it would SIGABRT on a smile query-block-jobs.
Even more interesting is that it crashes on the first or second or third snapshot/ block-commit cycle when using EXT4, but would sometimes go for 30-40 cycles on ZFS.
Any ideas? I'm certainly willing to test and help in any way I can.
Thanks!