Description of problem: When using live merge blockcopy to update the contents of a backing file to a known point in time while still keeping the active layer, it would be nice to be able to ensure the backing file is taken at a point in the guest operation where the filesystem is stable. Similar to how we can involve the guest agent to quiesce the filesystem when taking an external snapshot, we should be able to use the agent to quiesce the filesystem right before breaking an active block commit. Version-Release number of selected component (if applicable): libvirt-1.2.8-5.el7 How reproducible: 100% Steps to Reproduce: 1. start with a backing chain [base] <- [active] in a live guest with a guest agent connection 2. try: virsh blockcommit $dom vda --verbose --keep-overlay --quiesce 3. try: virsh blockcopy $dom vda /path/to/copy --verbose --abort --quiesce Actual results: --quiesce is not implemented; we need to add a flag to virDomainBlockJobAbort that supports guest-agent quiescing around the point where we end an active commit or block copy. Expected results: both commands should learn the --quiesce flag (really, as syntax sugar around the underlying virDomainBlockJobAbort learning the flag). That way, when ending an active commit or block copy operation, the file that is no longer being modified will contain a stable snapshot of the disk at that time, rather than merely a crash-consistent state of the disk. Additional info:
Thank you for reporting this issue to the libvirt project. Unfortunately we have been unable to resolve this issue due to insufficient maintainer capacity and it will now be closed. This is not a reflection on the possible validity of the issue, merely the lack of resources to investigate and address it, for which we apologise. If you none the less feel the issue is still important, you may choose to report it again at the new project issue tracker https://gitlab.com/libvirt/libvirt/-/issues The project also welcomes contribution from anyone who believes they can provide a solution.