On Wed, Jan 30, 2013 at 2:49 AM, Eric Blake <eblake(a)redhat.com> wrote:
On 01/29/2013 10:42 AM, harryxiyou wrote:
> Hi Sebastian, Morita and other developers,
Answering what I can...
Eric, thanks for your answers, you are awesome ;-)
And i have some questions about your answers like following.
> 3, In func "virStorageBackendSheepdogCreateVol", it
composes cmd like this
> "virCommandPtr cmd = virCommandNewArgList(COLLIE, "vdi",
"create",
> vol->name, NULL);"
> then send create parameters. When Sheepdog receive these parameters,
> how Sheepdog
> create this volume? I find Sheepdog create a volume like this.
> $ qemu-img create sheepdog:Alice 256G
This is using 'collie', not 'qemu-img', to create the volume. That is,
the current sheepdog storage driver is NOT going through qemu, but going
directly to sheepdog.
Yup, this is using 'collie', which is going directly to sheepdog. But
Morita said
if QEMU do not support Sheepdog, Libvirt would not support sheepdog. I think
sheepdog uses collie to create/delete/... volumes but QEMU simulates sheepdog
block device, which it has to go through QEMU during runtime.
Do you think so? Or you have any other ideas?
--
Thanks
Harry Wei