From: Juan Quintela <quintela@redhat.com>
To: "Daniel P. Berrangé" <berrange@redhat.com>
Cc: "manish.mishra" <manish.mishra@nutanix.com>,
qemu-devel@nongnu.org, dgilbert@redhat.com,
lsoaresp@redhat.com, Peter Xu <peterx@redhat.com>
Subject: Re: [PATCH v6 1/2] io: Add support for MSG_PEEK for socket channel
Date: Thu, 02 Feb 2023 13:51:28 +0100 [thread overview]
Message-ID: <87sffokz73.fsf@secure.mitica> (raw)
In-Reply-To: <Y9utB91u5JFeHBiN@redhat.com> ("Daniel P. Berrangé"'s message of "Thu, 2 Feb 2023 12:31:03 +0000")
Daniel P. Berrangé <berrange@redhat.com> wrote:
> On Thu, Feb 02, 2023 at 01:22:12PM +0100, Juan Quintela wrote:
>> "manish.mishra" <manish.mishra@nutanix.com> wrote:
>> > MSG_PEEK peeks at the channel, The data is treated as unread and
>> > the next read shall still return this data. This support is
>> > currently added only for socket class. Extra parameter 'flags'
>> > is added to io_readv calls to pass extra read flags like MSG_PEEK.
>> >
>> > Reviewed-by: Peter Xu <peterx@redhat.com>
>> > Reviewed-by: Daniel P. Berrange <berrange@redhat.com>
>> > Suggested-by: Daniel P. Berrange <berrange@redhat.com>
>> > Signed-off-by: manish.mishra <manish.mishra@nutanix.com>
>>
>>
>> This change breaks RDMA migration.
>>
>> FAILED: libcommon.fa.p/migration_rdma.c.o
>> cc -m64 -mcx16 -Ilibcommon.fa.p -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/spice-server -I/usr/include/spice-1 -I/usr/include/cacard -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/nss3 -I/usr/include/nspr4 -I/usr/include/PCSC -I/usr/include/p11-kit-1 -I/usr/include/libusb-1.0 -I/usr/include/SDL2 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gio-unix-2.0 -I/usr/include/slirp -fdiagnostics-color=auto -Wall -Winvalid-pch -Werror -std=gnu11 -O2 -g -isystem /mnt/code/qemu/full/linux-headers -isystem linux-headers -iquote . -iquote /mnt/code/qemu/full -iquote /mnt/code/qemu/full/include -iquote /mnt/code/qemu/full/tcg/i386 -pthread -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fno-common -fwrapv -Wundef -Wwrite-strings -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wold-style-declaration -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined -Wimplicit-fallthrough=2 -Wmissing-format-attribute -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-psabi -fstack-protector-strong -fPIE -D_REENTRANT -Wno-undef -DSTRUCT_IOVEC_DEFINED -MD -MQ libcommon.fa.p/migration_rdma.c.o -MF libcommon.fa.p/migration_rdma.c.o.d -o libcommon.fa.p/migration_rdma.c.o -c ../../../../mnt/code/qemu/full/migration/rdma.c
>> ../../../../mnt/code/qemu/full/migration/rdma.c: In function ‘qio_channel_rdma_class_init’:
>> ../../../../mnt/code/qemu/full/migration/rdma.c:4020:25: error: assignment to ‘ssize_t (*)(QIOChannel *, const struct iovec *, size_t, int **, size_t *, int, Error **)’ {aka ‘long int (*)(QIOChannel *, const struct iovec *, long unsigned int, int **, long unsigned int *, int, Error **)’} from incompatible pointer type ‘ssize_t (*)(QIOChannel *, const struct iovec *, size_t, int **, size_t *, Error **)’ {aka ‘long int (*)(QIOChannel *, const struct iovec *, long unsigned int, int **, long unsigned int *, Error **)’} [-Werror=incompatible-pointer-types]
>> 4020 | ioc_klass->io_readv = qio_channel_rdma_readv;
>> | ^
>> cc1: all warnings being treated as errors
>>
>> And I don't really know how to fix it, because the problem is that rdma
>> don't use qio_channel_readv_full() at all.
>
> Likely qio_channel_rdma_readv just adds the 'int flags' param added.
> It doesn't need to actually do anything with the flags as they are
> checked before
I can do that. That would fix the compilation issue.
But will rdma work? Because it fakes a qio channel, so what is going to
implement the MSG_PEEK functionality for it? It don't end calling
recv() at all.
Later, Juan.
next prev parent reply other threads:[~2023-02-02 12:52 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-20 18:44 [PATCH v6 0/2] check magic value for deciding the mapping of channels manish.mishra
2022-12-20 18:44 ` [PATCH v6 1/2] io: Add support for MSG_PEEK for socket channel manish.mishra
2023-02-01 14:55 ` Juan Quintela
2023-02-02 12:22 ` Juan Quintela
2023-02-02 12:31 ` Daniel P. Berrangé
2023-02-02 12:51 ` Juan Quintela [this message]
2023-02-02 13:13 ` Daniel P. Berrangé
2023-02-02 13:39 ` Juan Quintela
2023-02-02 13:55 ` Daniel P. Berrangé
2023-02-02 15:51 ` Juan Quintela
2022-12-20 18:44 ` [PATCH v6 2/2] migration: check magic value for deciding the mapping of channels manish.mishra
2023-02-01 14:56 ` Juan Quintela
2023-01-04 10:52 ` [PATCH v6 0/2] " manish.mishra
2023-02-01 15:00 ` Juan Quintela
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87sffokz73.fsf@secure.mitica \
--to=quintela@redhat.com \
--cc=berrange@redhat.com \
--cc=dgilbert@redhat.com \
--cc=lsoaresp@redhat.com \
--cc=manish.mishra@nutanix.com \
--cc=peterx@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.