On Wed, Jul 23, 2025 at 04:57:57 +0000, P, Rajasekar via Users wrote:
> Hello libvirt community,
> 
> I am seeking clarification on the behavior of `virsh snapshot-delete` when 
> used with external snapshots (created with the `--disk-only` option).
> 
> **Environment:**
> - libvirt version: 10.5.0

Note that this was released almost a year ago.

> - Kernel version: 5.14.0-503.22.1.el9_5.x86_64
> - Disk image format: qcow2
> - Host OS: RHEL 9.5
> 
> **Steps to reproduce:**
> 1. Create an external snapshot:
>            virsh snapshot-create-as --domain <vm> --name snap1 --disk-only 
> --atomic
> 2. Delete the snapshot:
>            virsh snapshot-delete <vm> --snapshotname snap1
> 
> **Observed behavior:**
> - Changes from the overlay (snapshot) file are merged into the base image.
> - The snapshot metadata is removed from libvirt.
> - The snapshot file remains on disk (appears orphaned).

You mean that the original overlay images remained on disk? e.g.
/path/to/originalimage.snap1 ?

> **Questions:**
> - Is the observed automatic merge of the overlay file into the base image 
> during `snapshot-delete` the intended behavior for external snapshots in 
> recent libvirt versions? Or we need separate `blockcommit` step.

Yes it is intended, because deleting a snapshot is effectively meaning
"I don't want to return to this point any more" so the extra overlay
makes no sense.

> - Should the snapshot file be deleted automatically, or is manual cleanup 
> required?

If you mean the overlay, then yes it should have been deleted.

> - Is there any official documentation that clarifies this behavior for 
> external snapshots, as most documentation seems to focus on internal 
> snapshots?

The semantics of external and internal snapshots are supposed to be
indentical. I don't think we document to a deep extent the actual
behaviour WRT to the disk files.

Reply via email to