
storage_backend_rbd.c uses an RBD clone operation to implement buildVolFrom. If I'm understanding the RBD documentation correctly, you cannot delete the parent until the clone has been deleted: http://docs.ceph.com/docs/master/dev/rbd-layering/ "Before cloning a snapshot, you must mark it as protected, to prevent it from being deleted while child images refer to it:" & "To delete the parent, you must first mark it unprotected, which checks that there are no children left:" Is libvirt okay with those semantics for volumes? That is, if you clone a volume, is it acceptable that you cannot delete the parent until you delete the clone? The answer to this affects how I'll write a patch to implement buildVolFrom for storage_backend_zfs.c. -- Richard