On Wed, May 11, 2022 at 5:55 AM Dr. David Alan Gilbert <dgilb...@redhat.com> wrote: > > * Leonardo Bras Soares Passos (leob...@redhat.com) wrote: > > From a previous thread: > > > > On Thu, Apr 28, 2022 at 1:20 PM Dr. David Alan Gilbert > > <dgilb...@redhat.com> wrote: > > > > > > Leo: > > > Unfortunately this is failing a couple of CI tests; the MSG_ZEROCOPY > > > one I guess is the simpler one; I think Stefanha managed to find the > > > liburing fix for the __kernel_timespec case, but that looks like a bit > > > more fun! > > > > > > Dave > > > > I thought Stefanha had fixed this bug, and we were just waiting for a > > new alpine rootfs/image with that fixed. > > Is that correct? > > > > On Tue, May 10, 2022 at 7:43 AM Dr. David Alan Gilbert > > <dgilb...@redhat.com> wrote: > > > > > > * Daniel P. Berrangé (berra...@redhat.com) wrote: > > > > On Tue, May 10, 2022 at 10:58:30AM +0100, Dr. David Alan Gilbert wrote: > > [...] > > > > > > > > Yuk. That very much looks like a bug in liburing itself to me. > > > > > > > > > > > > We've exposed the latent bug by including linux/errqueue.h > > > > > > Yes, I think there was a thread after the 1st pull where Leo identified > > > the patch that fixed it; but it's not in that image. > > > > I only fixed the MSG_ZEROCOPY missing define bug, as I got that > > Stefanha had already fixed the issue in liburing/alpine. > > > > questions: > > - Has Stefanha really fixed that, and we are just waiting for a new > > image, or have I got that wrong? > > - How should I proceed with that? > > > > - If we proceed with fixing this up in alpine, will that require this > > patchset to be on pause until it's fixed there? > > It needs to pass in CI; so yes. > > > - If so, is there any suggestion on how to fix that in qemu code? > > (this header is needed because of SO_EE_* defines) > > I've not actually looked at the detail of the failure; but yes I think > we need a qemu workaround here. > > If there's no simple fix, then adding a test to meson.build to > conditionally disable liburing might be best; like the test code for > libcap_ng I guess (search in meson.build for libcap_ng.found at around > line 540.
Hello Dave, I solved this issue by doing this: +linux_io_uring_test = ''' + #include <liburing.h> + #include <linux/errqueue.h> + + int main(void) { return 0; }''' + linux_io_uring = not_found if not get_option('linux_io_uring').auto() or have_block linux_io_uring = dependency('liburing', version: '>=0.3', required: get_option('linux_io_uring'), method: 'pkg-config', kwargs: static_kwargs) + if not cc.links(linux_io_uring_test) + linux_io_uring = not_found + endif endif + Seems to work fine in CI, and now Alpine does not fail anymore. (See pipeline https://gitlab.com/LeoBras/qemu/-/pipelines/538123933 for reference) I am not sure if this is the right thing to do, but I will be sending it as a full new patchset (v13), with the first patch being the one with the above change and the rest just carrying the recommended fixes. I was also thinking I could instead send the single "fix" patch, and recommend adding it before my v12. If that is the correct approach for this case, please let me know so I can improve in the future. (I am trying to figure out what is simpler/best for maintainers) Best regards, Leo > > Dave > > > Thank you all! > > > > Best regards, > > Leo > > > > > > > > Dave > > > > > > > With regards, > > > > Daniel > > > > -- > > > > |: https://berrange.com -o- > > > > https://www.flickr.com/photos/dberrange :| > > > > |: https://libvirt.org -o- > > > > https://fstop138.berrange.com :| > > > > |: https://entangle-photo.org -o- > > > > https://www.instagram.com/dberrange :| > > > > > > > -- > > > Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK > > > > > > -- > Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK >