Messages in this thread | | | Date | Mon, 6 Sep 2021 09:33:15 +0200 | From | Stefano Garzarella <> | Subject | Re: [PATCH net-next v5 0/6] virtio/vsock: introduce MSG_EOR flag for SEQPACKET |
| |
On Sun, Sep 05, 2021 at 04:18:52PM -0400, Michael S. Tsirkin wrote: >On Sun, Sep 05, 2021 at 07:21:10PM +0300, Arseny Krasnov wrote: >> >> On 05.09.2021 19:19, Michael S. Tsirkin wrote: >> > On Sun, Sep 05, 2021 at 07:02:44PM +0300, Arseny Krasnov wrote: >> >> On 05.09.2021 18:55, Michael S. Tsirkin wrote: >> >>> On Fri, Sep 03, 2021 at 03:30:13PM +0300, Arseny Krasnov wrote: >> >>>> This patchset implements support of MSG_EOR bit for SEQPACKET >> >>>> AF_VSOCK sockets over virtio transport. >> >>>> First we need to define 'messages' and 'records' like this: >> >>>> Message is result of sending calls: 'write()', 'send()', 'sendmsg()' >> >>>> etc. It has fixed maximum length, and it bounds are visible using >> >>>> return from receive calls: 'read()', 'recv()', 'recvmsg()' etc. >> >>>> Current implementation based on message definition above. >> >>>> Record has unlimited length, it consists of multiple message, >> >>>> and bounds of record are visible via MSG_EOR flag returned from >> >>>> 'recvmsg()' call. Sender passes MSG_EOR to sending system call and >> >>>> receiver will see MSG_EOR when corresponding message will be processed. >> >>>> Idea of patchset comes from POSIX: it says that SEQPACKET >> >>>> supports record boundaries which are visible for receiver using >> >>>> MSG_EOR bit. So, it looks like MSG_EOR is enough thing for SEQPACKET >> >>>> and we don't need to maintain boundaries of corresponding send - >> >>>> receive system calls. But, for 'sendXXX()' and 'recXXX()' POSIX says, >> >>>> that all these calls operates with messages, e.g. 'sendXXX()' sends >> >>>> message, while 'recXXX()' reads messages and for SEQPACKET, 'recXXX()' >> >>>> must read one entire message from socket, dropping all out of size >> >>>> bytes. Thus, both message boundaries and MSG_EOR bit must be supported >> >>>> to follow POSIX rules. >> >>>> To support MSG_EOR new bit was added along with existing >> >>>> 'VIRTIO_VSOCK_SEQ_EOR': 'VIRTIO_VSOCK_SEQ_EOM'(end-of-message) - now it >> >>>> works in the same way as 'VIRTIO_VSOCK_SEQ_EOR'. But 'VIRTIO_VSOCK_SEQ_EOR' >> >>>> is used to mark 'MSG_EOR' bit passed from userspace. >> >>>> This patchset includes simple test for MSG_EOR. >> >>> I'm prepared to merge this for this window, >> >>> but I'm not sure who's supposed to ack the net/vmw_vsock/af_vsock.c >> >>> bits. It's a harmless variable renaming so maybe it does not matter. >> >>> >> >>> The rest is virtio stuff so I guess my tree is ok. >> >>> >> >>> Objections, anyone? >> >> https://lkml.org/lkml/2021/9/3/76 this is v4. It is same as v5 in af_vsock.c changes. >> >> >> >> It has Reviewed by from Stefano Garzarella. >> > Is Stefano the maintainer for af_vsock then? >> > I wasn't sure.
I'm maintaining virtio-vsock stuff, but I'm reviewing most of the af_vsock patches. We don't have an entry for it in MAINTAINERS, maybe we should.
>> Ack, let's wait for maintainer's comment > > >The specific patch is a trivial variable renaming so >I parked this in my tree for now, will merge unless I >hear any objections in the next couple of days.
I agree, I think your tree is fine, since this series is mostly about virtio-vsock.
Thanks, Stefano
| |