Il 14/11/2012 10:55, Wenchao Xia ha scritto:
In order to resolve OOM issue, I am trying wrap all APIs using
sunrpc, need some suggestion before coding.
Is the client/server approach really necessary or can you write a
library that invokes qemu-nbd/qemu-img?
If there is a startup cost problem with qemu-img it may be possible to
add an interactive mode (like qemu-io) where qemu-img stays open and
responds to commands (maybe in JSON encoding).
The difference between this and the RPC approach is that you can write a
relatively thin NBD and qemu-img library with the tools that already
exist today.
In fact, I think this is not our issue. If libvirt wants to use
libqblock but have a problem with OOM exit, they can write their own
wrappers to do the simple tasks they need, or just keep on using
qemu-img with JSON output (possibly extending it and keeping the
functionality upstream). For many of those tasks, it may turn out that
qemu-img extensions would be useful anyway.
Paolo