[libvirt] Why not add snapshot operations for Sheepdog storage driver in Libvirt

Hi all, Virsh has following operations about snapshot. Snapshot (help keyword 'snapshot') snapshot-create Create a snapshot from XML snapshot-create-as Create a snapshot from a set of args snapshot-current Get or set the current snapshot snapshot-delete Delete a domain snapshot snapshot-dumpxml Dump XML for a domain snapshot snapshot-edit edit XML for a snapshot snapshot-info snapshot information snapshot-list List snapshots for a domain snapshot-parent Get the name of the parent of a snapshot snapshot-revert Revert a domain to a snapshot But i cannot find relevant realization in Sheepdog storage driver in Libvirt. I am sure Sheepdog storage driver, now, cannot support snapshot operations in Libvirt. I wonder whether Sheepdog can realize snapshot operations in Libvirt? Maybe i can finish these jobs. I am not clear about how to let Sheepdog storage driver support snapshot operations. Could anyone give me some suggestions? Thanks in advance. -- Thanks Harry Wei

On 02/08/2013 04:56 AM, harryxiyou wrote:
Hi all,
Virsh has following operations about snapshot.
Snapshot (help keyword 'snapshot') snapshot-create Create a snapshot from XML snapshot-create-as Create a snapshot from a set of args snapshot-current Get or set the current snapshot snapshot-delete Delete a domain snapshot snapshot-dumpxml Dump XML for a domain snapshot snapshot-edit edit XML for a snapshot snapshot-info snapshot information snapshot-list List snapshots for a domain snapshot-parent Get the name of the parent of a snapshot snapshot-revert Revert a domain to a snapshot
These commands are related to domain snapshots.
But i cannot find relevant realization in Sheepdog storage driver in Libvirt.
That would be a storage volume snapshot, which is a different task. Remember, a domain snapshot may include storage volume snapshots, and may also include memory state snapshots, which makes it a more comprehensive task; but also that some of the work of a domain snapshot is offloaded to qemu, whereas storage volume snapshot manipulation would have to be done in libvirt independently of qemu. At one point I proposed API for doing storage volume snapshot manipulation, but it never became a pressing need, so no one has implemented it yet. https://www.redhat.com/archives/libvir-list/2011-June/msg00761.html
I am sure Sheepdog storage driver, now, cannot support snapshot operations in Libvirt. I wonder whether Sheepdog can realize snapshot operations in Libvirt?
Not just sheepdog, but qcow2 storage volume management would also benefit from storage volume snapshot commands. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
participants (2)
-
Eric Blake
-
harryxiyou