jmsperu commented on PR #13074:
URL: https://github.com/apache/cloudstack/pull/13074#issuecomment-4684182269

   Added a regression test for this — `test_incremental_after_vm_restart` 
(commit `3ed8a30a`) — and here's how the fix was validated.
   
   **Manually, on a real libvirt 10.0.0 / qemu 8.2 host** — reproduced the 
failure and confirmed the fix using `virsh backup-begin` with QMP `qemu-io` to 
dirty real blocks (no CloudStack needed, isolated transient domain):
   ```
   full backup-begin  ->  dirty blocks (qemu-io)  ->  incremental (small, 
dirty-only)
    ->  checkpoint-delete --metadata          # simulates the VM-restart 
registry wipe
    ->  checkpoint-create --redefine <dumpxml>   # the fix: re-register the 
parent  ✅
    ->  incremental against the re-registered parent  ✅
   ```
   Before the fix, that recreate failed with `Bitmap already exists`, and the 
`qemu-img bitmap --remove` fallback hit `Failed to get "write" lock` on the 
running disk.
   
   **Automated** — the new test encodes the same flow in the smoke suite 
(`required_hardware=true`, runs in 4.23 CI):
   ```
   FULL + marker1  ->  stop/start the VM (wipes libvirt's checkpoint registry)
    ->  INCREMENTAL + marker2  ->  restore the tip
    ->  assert both markers restore  AND  the post-restart backup is 
INCREMENTAL (not a FULL)
   ```
   It preserves `nas.backup.full.every` in `finally` so it doesn't leak config 
on shared environments.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to