2010/5/24 MORITA Kazutaka <[email protected]>:
>> However, I don't think nbd would be a good protocol. My preference
>> would be for a plugin API, or for a new local protocol that uses
>> splice() to avoid copies.
>>
>
> Both would be okay for Sheepdog. I want to take a suitable approach
> for qemu.
I think both should be possible:
- Using splice() we would need a daemon that is listening on a control
socket for
requests from qemu-processes or admin commands. When a qemu-process
wants to open an image it could call open_image("protocol:imagename") on the
controll socket and the daemon has to create a pipe to which the
image is mapped.
(What I'm unsure about, are the security implications. Do we need some kind of
authentication for the sockets? What about sVirt?
- Building a plugin API seems a bit simpler to me, although I'm to
sure if I'd get the
idea correctly:
The block layer has already some kind of api (.bdrv_file_open, .bdrv_read). We
could simply compile the block-drivers as shared objects and create a method
for loading the necessary modules at runtime.
Are you planing to use this for all block drivers?
Regards,
Christian
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html