1) correction regarding my last comment (#6): block commit -> block rebase
2) I'm still wondering why the active file ends up with a broken backing file entry. I checked into the libvirt logs and found that libvirt seems to run the correct rebasing in the end but checking the files afterwards shows the active file still having the backing file pointing to the original (now deleted) file and therefore being broken.
If i'm reading this log correctly libvirt sets the new backing file in the end (watch out for volume-669cfd0c-5b5c-470b-8b25-4c15cc655373.a755e1fc-f5ff-4dc1-937f-c03fb5ecc2d8, this file should be pointed to. Afaiu this libvirt log shows exactly that. But checking the volumes files afterwards via qemu-img info shows instead that the active files backing file link points to volume-669cfd0c-5b5c-470b-8b25-4c15cc655373.a24f9a80-9858-478f-871b-7a5f11278c8, which is the former backing file that is deleted during this assisted snapshot deletion and no longer exists.
1) correction regarding my last comment (#6): block commit -> block rebase
2) I'm still wondering why the active file ends up with a broken backing file entry. I checked into the libvirt logs and found that libvirt seems to run the correct rebasing in the end but checking the files afterwards shows the active file still having the backing file pointing to the original (now deleted) file and therefore being broken. 669cfd0c- 5b5c-470b- 8b25-4c15cc6553 73.a755e1fc- f5ff-4dc1- 937f-c03fb5ecc2 d8, this file should be pointed to. Afaiu this libvirt log shows exactly that. But checking the volumes files afterwards via qemu-img info shows instead that the active files backing file link points to volume- 669cfd0c- 5b5c-470b- 8b25-4c15cc6553 73.a24f9a80- 9858-478f- 871b-7a5f11278c 8, which is the former backing file that is deleted during this assisted snapshot deletion and no longer exists.
If i'm reading this log correctly libvirt sets the new backing file in the end (watch out for volume-
Libvirt log excerpt:
2017-10-12 08:06:59.321+0000: 4390: debug : qemuMonitorJSON CommandWithFd: 296 : Send command '{"execute" :"query- block-jobs" ,"id":" libvirt- 25"}' for write with FD -1 :1035 : QEMU_MONITOR_ SEND_MSG: mon=0x7f0338011150 msg={"execute" :"query- block-jobs" ,"id":" libvirt- 25"} ite:536 : QEMU_MONITOR_ IO_WRITE: mon=0x7f0338011150 buf={"execute" :"query- block-jobs" ,"id":" libvirt- 25"} ocess:431 : QEMU_MONITOR_ IO_PROCESS: mon=0x7f0338011150 buf={"return": [{"io-status": "ok", "device": "drive- virtio- disk1", "busy": false, "len": 3221225 IOProcessLine: 191 : Line [{"return": [{"io-status": "ok", "device": "drive- virtio- disk1", "busy": false, "len": 3221225472, "offset": 250609664, "paused IOProcessLine: 211 : QEMU_MONITOR_ RECV_REPLY: mon=0x7f0338011150 reply={"return": [{"io-status": "ok", "device": "drive- virtio- disk1", "busy": false, "len IOProcess: 260 : Total used 205 bytes out of 205 available in buffer CommandWithFd: 301 : Receive command reply ret=0 rxObject= 0x55f8a29153d0 itMonitorIntern al:3555 : Exited monitor (mon=0x7f0338011150 vm=0x7f03280031d0 name=instance- 00000006) dJob:3463 : Stopping job: query (async=none vm=0x7f03280031d0 name=instance- 00000006) ar:121 : Thread 4390 (virNetServerHa ndleJob) finished job remoteDispatchD omainGetBlockJo bInfo with ret=0 ocess:431 : QEMU_MONITOR_ IO_PROCESS: mon=0x7f0338011150 buf={"timestamp": {"seconds": 1507795619, "microseconds": 377412}, "event": "BLOCK_ JOB_COMPLETED" virtio- disk1", "len": 3221225472, "offset": 3221225472, "speed": 0, "type": "stream"}} IOProcessLine: 191 : Line [{"timestamp": {"seconds": 1507795619, "microseconds": 377412}, "event": "BLOCK_ JOB_COMPLETED" , "data": {"device": "drive-virti IOProcessLine: 206 : QEMU_MONITOR_ RECV_EVENT: mon=0x7f0338011150 event={"timestamp": {"seconds": 1507795619, "microseconds": 377412}, "event": "BLOCK_JOB_ virtio- disk1", "len": 3221225472, "offset": 3221225472, "speed": 0, "type": "stream"}} IOProcessEvent: 152 : mon=0x7f0338011150 obj=0x55f8a2942ec0 Event:1298 : mon=0x7f0338011150 event=BLOCK_ JOB_COMPLETED leEvent: 616 : vm=0x7f03280031d0 ew:640 : obj=0x55f8a2943160 IOProcessEvent: 177 : handle BLOCK_JOB_COMPLETED handler= 0x7f031255f980 data=0x55f8a290ccc0 BlockJob: 1490 : mon=0x7f0338011150 leBlockJob: 986 : Block job for device drive-virtio-disk1 (domain: 0x7f03280031d0, instance- 00000006) type 1 status 0 IOProcess: 260 : Total used 209 bytes out of 209 available in buffer ispose: 134 : obj=0x55f8a2943160 tHandler: 4571 : vm=0x7f03280031d0, event=5 ginJobInternal: 3268 : Starting job: modify (vm=0x7f03280031d0 name=instance- 00000006, current job=none async=none) ginJobInternal: 3309 : Started job: modify (async=none vm=0x7f03280031d0 name=instance- 00000006) ntProcess: 103 : disk=vdb, mirrorState=none, type=1, status=0 ew:640 : obj=0x7f02f022d2a0 ew:640 : obj=0x7f02f0191be0 dJob:3463 : Stopping job: modify (async=none vm=0x7f03280031d0 name=instance- 00000006) ispose: 134 : obj=0x7f02f022d2a0 ispose: 134 : obj=0x7f02f0191be0
2017-10-12 08:06:59.321+0000: 4390: info : qemuMonitorSend
fd=-1
2017-10-12 08:06:59.321+0000: 4388: info : qemuMonitorIOWr
len=50 ret=50 errno=0
2017-10-12 08:06:59.321+0000: 4388: info : qemuMonitorIOPr
472, "offset": 250609664, "paused": false, "speed": 0, "ready": false, "type": "stream"}], "id": "libvirt-25"}
len=205
2017-10-12 08:06:59.321+0000: 4388: debug : qemuMonitorJSON
": false, "speed": 0, "ready": false, "type": "stream"}], "id": "libvirt-25"}]
2017-10-12 08:06:59.321+0000: 4388: info : qemuMonitorJSON
": 3221225472, "offset": 250609664, "paused": false, "speed": 0, "ready": false, "type": "stream"}], "id": "libvirt-25"}
2017-10-12 08:06:59.321+0000: 4388: debug : qemuMonitorJSON
2017-10-12 08:06:59.321+0000: 4390: debug : qemuMonitorJSON
2017-10-12 08:06:59.321+0000: 4390: debug : qemuDomainObjEx
2017-10-12 08:06:59.321+0000: 4390: debug : qemuDomainObjEn
2017-10-12 08:06:59.321+0000: 4390: debug : virThreadJobCle
2017-10-12 08:06:59.377+0000: 4388: info : qemuMonitorIOPr
, "data": {"device": "drive-
len=209
2017-10-12 08:06:59.377+0000: 4388: debug : qemuMonitorJSON
o-disk1", "len": 3221225472, "offset": 3221225472, "speed": 0, "type": "stream"}}]
2017-10-12 08:06:59.377+0000: 4388: info : qemuMonitorJSON
COMPLETED", "data": {"device": "drive-
2017-10-12 08:06:59.377+0000: 4388: debug : qemuMonitorJSON
2017-10-12 08:06:59.377+0000: 4388: debug : qemuMonitorEmit
2017-10-12 08:06:59.377+0000: 4388: debug : qemuProcessHand
2017-10-12 08:06:59.377+0000: 4388: debug : virObjectEventN
2017-10-12 08:06:59.377+0000: 4388: debug : qemuMonitorJSON
2017-10-12 08:06:59.377+0000: 4388: debug : qemuMonitorEmit
2017-10-12 08:06:59.377+0000: 4388: debug : qemuProcessHand
2017-10-12 08:06:59.377+0000: 4388: debug : qemuMonitorJSON
2017-10-12 08:06:59.377+0000: 4388: debug : virObjectEventD
2017-10-12 08:06:59.377+0000: 4726: debug : qemuProcessEven
2017-10-12 08:06:59.377+0000: 4726: debug : qemuDomainObjBe
2017-10-12 08:06:59.377+0000: 4726: debug : qemuDomainObjBe
2017-10-12 08:06:59.377+0000: 4726: debug : qemuBlockJobEve
2017-10-12 08:06:59.377+0000: 4726: debug : virObjectEventN
2017-10-12 08:06:59.377+0000: 4726: debug : virObjectEventN
2017-10-12 08:06:59.394+0000: 4726: debug : qemuDomainObjEn
2017-10-12 08:06:59.394+0000: 4388: debug : virObjectEventD
2017-10-12 08:06:59.394+0000: 4388: debug : virObjectEventD