Re: [BUG? liburing] io_uring_register_files_update with liburing 2.0 on 5.13.17

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 9/18/21 7:41 AM, Victor Stewart wrote:
> just auto updated from 5.13.16 to 5.13.17, and suddenly my fixed
> file registrations fail with EOPNOTSUPP using liburing 2.0.
> 
> static inline struct io_uring ring;
> static inline int *socketfds;
> 
> // ...
> 
> void enableFD(int fd)
> {
>    int result = io_uring_register_files_update(&ring, fd,
>                       &(socketfds[fd] = fd), 1);
>    printf("enableFD, result = %d\n", result);
> }
> 
> maybe this is due to the below and related work that
> occurred at the end of 5.13 and liburing got out of sync?
> 
> https://github.com/torvalds/linux/commit/992da01aa932b432ef8dc3885fa76415b5dbe43f#diff-79ffab63f24ef28eec3badbc8769e2a23e0475ab1fbe390207269ece944a0824
> 
> and can't use liburing 2.1 because of the api changes since 5.13.

That's very strange, the -EOPNOTSUPP should only be possible if you
are not passing in the ring fd for the register syscall. You should
be able to mix and match liburing versions just fine, the only exception
is sometimes between releases (of both liburing and the kernel) where we
have the liberty to change the API of something that was added before
release.

Can you do an strace of it and attach?

-- 
Jens Axboe




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux