On Wed, Jul 09, 2025 at 18:31:36 -0000, francisco.garcia--- via Users wrote: > Hello, I'm using checkpoints to back up Libvirt domains. I'm using the > "virsh backup-begin" tool and specifying the dombackup and checkpoint > XML files. Everything works correctly (I perform full and incremental > backups) without any issues. > > When I list the checkpoints using the "virsh checkpoint-list DOMAIN > --parent --topological" tool, it correctly shows me the entire chain > of full and incremental backups. > > However, when I perform a differential backup, setting the parent of > that checkpoint to the last full checkpoint, I have problems when > listing them. It tells me that the parent of the differential > checkpoint is the last incremental checkpoint, instead of the full > checkpoint. And I don't understand why, because when I perform the > backup-begin, I specify the full checkpoint in the "incremental" > label, and the bitmap generated from the disk is all the data from the > full checkpoint on.
Firstly sorry for not getting back earlier. I kinda forgot about this message. The logic of hierarchy of checkpoints stems originally from snapshots where the latest is put on top of the latest currently active one. In case of snapshot it works because you move in the tree by reverting to one of the snapshots. Creating another one then inherits the parent from that point. This was also the original intetion to use for optimizing the bitmap usage. This would mean that the parent would need to be chronological rather than hierarchical in terms how the backups were created. Now this optimization was not implemented, so every checkpoint has their own set of bitmaps. The topology thus isn't really meaningful. I can see how it could make sense to couple the backup state toghether with the checkpoint, but in the end checkpoints don't retain any state from the backup itself, and thus are standalone. This is because the output files can be post-processed to be merged, or in your case of pull-mode backups you can take a full backup even when starting an incremental backup job if you ignore the differential bitmap. Additionally note that keeping around checkpoints for points in time you don't expect to do a differential backup from any more are pointless, so storing the hierarchy would not make much sense either.