
On 12/23/2010 05:51 PM, 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).
File descriptor in the outgoing direction is supported using SCM_RIGHTS, but you're right that when qemu doesn't support the fd: migration protocol you would still have to use a fallback (it could be mkfifo + cat, instead of netcat, but it would be a substantial amount of work for a limited gain in portability). Paolo