Hi Daniel/Paolo, I have a question regarding this commit: -------------8<------------- Author: Daniel P. Berrange <berra...@redhat.com> AuthorDate: Tue Jan 19 11:14:29 2016 +0000 Commit: Paolo Bonzini <pbonz...@redhat.com> CommitDate: Tue Jan 26 15:58:11 2016 +0100 -------------8<-------------
One of the hunks replace unix_send_msgfds() with io_channel_send_full(): -------------8<------------- static int tcp_chr_write(CharDriverState *chr, const uint8_t *buf, int len) { TCPCharDriver *s = chr->opaque; if (s->connected) { -#ifndef _WIN32 - if (s->is_unix && s->write_msgfds_num) { - return unix_send_msgfds(chr, buf, len); - } else -#endif - { - return io_channel_send(s->chan, buf, len); + int ret = io_channel_send_full(s->ioc, buf, len, + s->write_msgfds, + s->write_msgfds_num); -------------8<------------- According to the code (qemu-char.c:968), io_channel_send_full() is just ignoring the s->write_msgfds parameter. So my question is: when using a chardev implemented by unix sockets, how does one pass file descriptors for vhost-user applications? I’m actually searching qemu-char.c for “write_msgfds” and scratching my head. There are functions to set it, clear it, etc, but none to send it. Thanks, Felipe