
On 05/16/2014 07:54 AM, Daniel P. Berrange wrote:
<disk type='quorum' device='disk'> <driver name='qemu' type='quorum'/> <threshold value=2/> <backingStore type='file'> <format type='qcow2'/> <source file='/var/lib/libvirt/images/file1.qcow2'/> </backingStore> <backingStore type='file'> <format type='qcow2'/> <source file='/var/lib/libvirt/images/file2.qcow2'/> </backingStore> <backingStore type='file'> <format type='qcow2'/> <source file='/var/lib/libvirt/images/file3.qcow2'/> </backingStore> <target dev='vda' bus='virtio'/> </disk>
It feels rather odd to have <backingStore> elements but no top level disk images. Really these are all top level images
Unfortunately, we are allowed to have a quorum with mixed-mode sources - I could have a quorum where file 1 is a local file, file 2 is a block device, and file 3 is a gluster protocol. But since we encode the type of file at the <disk type='...'> level, there is NO way to list three different <source> elements for those three quorum members. I think Benoit's proposal makes sense - a quorum is a node in the backing chain with NO <source> element, but instead has MULTIPLE <backingStore> elements. <disk type='quorum' device='disk'> <driver name='qemu' type='quorum'/> <threshold value=2/> <backingStore type='file'> <format type='qcow2'/> <source file='/var/lib/libvirt/images/file1.qcow2'/> </backingStore> <backingStore type='block'> <format type='qcow2'/> <source dev='/var/lib/libvirt/images/file2.qcow2'/> </backingStore> <backingStore type='network'> <format type='qcow2'/> <source protocol='gluster' name='Volume1/Image'> <host name='example.org'/> </source> </backingStore> <target dev='vda' bus='virtio'/> </disk> -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org