[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Question on unixsocket-based chardevs and vhost-user
From: |
Felipe Franciosi |
Subject: |
Re: [Qemu-devel] Question on unixsocket-based chardevs and vhost-user |
Date: |
Wed, 28 Sep 2016 17:03:10 +0000 |
Hi Paolo,
> On 28 Sep 2016, at 17:59, Paolo Bonzini <address@hidden> wrote:
>
> On 28/09/2016 18:56, Felipe Franciosi wrote:
>> Hi Daniel/Paolo,
>>
>>
>>
>> I have a question regarding this commit:
>>
>> -------------8<-------------
>> Author: Daniel P. Berrange <address@hidden>
>> AuthorDate: Tue Jan 19 11:14:29 2016 +0000
>> Commit: Paolo Bonzini <address@hidden>
>> CommitDate: Tue Jan 26 15:58:11 2016 +0100
>> -------------8<-------------
>>
>> One of the hunks replace unix_send_msgfds() with io_channel_send_full():
>>
>> According to the code (qemu-char.c:968), io_channel_send_full() is just
>> ignoring the s->write_msgfds parameter.
>
> Hmm, no, it's passing it down:
>
> ret = qio_channel_writev_full(
> ioc, &iov, 1,
> fds, nfds, NULL);
>
> See the implementation of qio_channel_socket_writev in io/channel-socket.c.
Ah, so my socket has been plumbed with qio_channel_file_writev() for some
reason. That's definitely ignoring the fds. I'll look into why it's not
qio_channel_socket_writev().
Thanks!
Felipe
>
> Thanks,
>
> Paolo
>
>> 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.