On Wed, Jan 30, 2013 at 2:49 AM, Eric Blake <eblake@xxxxxxxxxx> 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 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list