
On 12/23/2010 09:34 AM, Eric Blake wrote:
Since you are at it, you may also want to replace the usage of netcat and Unix sockets with "-incoming fd:" and a one-way pipe.
Not sure it's worth it. Is unix:path any less efficient than creating a one-way pipe for use by fd:n? Also, we can't replace netcat; the use of '-incoming "exec:nc -lU path"' is only used in libvirt that predates '-incoming unix:path', which also happens to predate '-incoming fd:n'.
Thinking about it more: In the outgoing direction, we still have to use a unix socket (outgoing migration is started via a monitor command, and I don't know how to pass a new fd into qemu for using with an fd:n outgoing migration via the monitor - it seems like fd is only useful on the command line). But you are right that in the incoming direction, we could use virFDStreamOpen rather than virFDStreamConnectUNIX, since a one-way pipe is a lot less code to set up than a unix socket; and this could fall back to '-incoming stdio' on older qemu with no loss over the current fallback of '-incoming "exec:nc -lU path"'. I'll play with a patch to see how it looks. -- Eric Blake eblake@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org