On 04/27/2010 11:56 AM, Avi Kivity wrote:
On 04/27/2010 11:48 AM, Dor Laor wrote:
Here's another option: an nbd-like protocol that remotes all BlockDriver
operations except read and write over a unix domain socket. The open
operation returns an fd (SCM_RIGHTS strikes again) that is used for read
and write. This can be used to implement snapshots over LVM, for
example.



Why w/o read/writes?

To avoid the copying.

Of course, just pass the offset+len on read/write too


the watermark code needs them too (as info, not the actual buffer).

Yeah. It works for lvm snapshots, not for watermarks.


IMHO the whole thing is way over engineered:
a) Having another channel into qemu is complicating management
software. Isn't the monitor should be the channel? Otherwise we'll
need to create another QMP (or nbd like Avi suggest) for these
actions. It's extra work for mgmt and they will have hard time to
understand events interleaving of the various channels

block layer plugins allow intercepting all interesting block layer
events, not just write-past-a-watermark, and allow actions based on
those events. It's a more general solution.

No problem there, as long as we do try to use the single existing QMP with the plugins. Otherwise we'll create QMP2 for the block events in a year from now.


b) How the plugins are defined? Is it scripts? Binaries? Do they open
their own sockets?

Shared objects.



--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to