It still fails with ext4: #0 0x00007fbaa12b33f8 in raise () at /lib64/libc.so.6 #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 sectors_per_chunk = 128 source = 0x5646bcb70000 sector_num = 36648960 delay_ns = 0 delay_ns = 0 cnt = 15360 should_complete = s = 0x5646bc50f480 data = bs = 0x5646bcb70000 sector_num = end = length = last_pause_ns = bdi = {cluster_size = 65536, vm_state_offset = 107374182400, is_dirty = false, unallocated_blocks_are_zero = true, can_write_zeroes_with_unmap = true, needs_compressed_writes = false} backing_filename = "\000" ret = n = 1048576 target_cluster_size = __PRETTY_FUNCTION__ = "mirror_run" #5 0x00005646b990f926 in mirror_run (opaque=0x5646bc50f480) at block/mirror.c:613 delay_ns = 0 cnt = 15360 should_complete = s = 0x5646bc50f480 data = bs = 0x5646bcb70000 sector_num = end = length = last_pause_ns = bdi = {cluster_size = 65536, vm_state_offset = 107374182400, is_dirty = false, unallocated_blocks_are_zero = true, can_write_zeroes_with_unmap = true, needs_compressed_writes = false} backing_filename = "\000" ret = n = 1048576 target_cluster_size = __PRETTY_FUNCTION__ = "mirror_run" #6 0x00005646b997568a in coroutine_trampoline (i0=, i1=) at util/coroutine-ucontext.c:78 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 : 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. Thanks!