Re: liburing update

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

 



On Tue, Aug 23, 2022 at 11:24:10AM +0100, Richard W.M. Jones wrote:
> On Tue, Aug 23, 2022 at 11:38:26AM +0200, Dominik 'Rathann' Mierzejewski wrote:
> > I'd suggest doing a mock, copr or scratch build and running abipkgdiff
> > comparing current rawhide and the updated binary packages. It'll tell
> > you if there are any subtle ABI differences.
> 
> Here's a scratch build:
> 
>   https://koji.fedoraproject.org/koji/taskinfo?taskID=91169327

Bleah ... (the tests below were done on my locally built copy)

Hopefully this will fix the missing dep:

https://koji.fedoraproject.org/koji/taskinfo?taskID=91169502

Rich.

> The differences are:
> 
> $ abipkgdiff liburing-2.0-4.fc37.x86_64.rpm liburing-2.2-1.fc38.x86_64.rpm --devel-pkg1 liburing-devel-2.0-4.fc37.x86_64.rpm --devel-pkg2 liburing-devel-2.2-1.fc38.x86_64.rpm --debug-info-pkg1 liburing-debuginfo-2.0-4.fc37.x86_64.rpm --debug-info-pkg2 liburing-debuginfo-2.2-1.fc38.x86_64.rpm
> 
> ================ changes of 'liburing.so.2.0.0'===============
>   Functions changes summary: 0 Removed, 1 Changed (24 filtered out), 16 Added functions
>   Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
> 
>   16 Added functions:
> 
>     [A] 'function ssize_t io_uring_mlock_size(unsigned int, unsigned int)'    {io_uring_mlock_size@@LIBURING_2.1}
>     [A] 'function ssize_t io_uring_mlock_size_params(unsigned int, io_uring_params*)'    {io_uring_mlock_size_params@@LIBURING_2.1}
>     [A] 'function int io_uring_register_buf_ring(io_uring*, io_uring_buf_reg*, unsigned int)'    {io_uring_register_buf_ring@@LIBURING_2.2}
>     [A] 'function int io_uring_register_buffers_sparse(io_uring*, unsigned int)'    {io_uring_register_buffers_sparse@@LIBURING_2.2}
>     [A] 'function int io_uring_register_buffers_tags(io_uring*, const iovec*, const __u64*, unsigned int)'    {io_uring_register_buffers_tags@@LIBURING_2.1}
>     [A] 'function int io_uring_register_buffers_update_tag(io_uring*, unsigned int, const iovec*, const __u64*, unsigned int)'    {io_uring_register_buffers_update_tag@@LIBURING_2.1}
>     [A] 'function int io_uring_register_files_sparse(io_uring*, unsigned int)'    {io_uring_register_files_sparse@@LIBURING_2.2}
>     [A] 'function int io_uring_register_files_tags(io_uring*, const int*, const __u64*, unsigned int)'    {io_uring_register_files_tags@@LIBURING_2.1}
>     [A] 'function int io_uring_register_files_update_tag(io_uring*, unsigned int, const int*, const __u64*, unsigned int)'    {io_uring_register_files_update_tag@@LIBURING_2.1}
>     [A] 'function int io_uring_register_iowq_aff(io_uring*, size_t, const cpu_set_t*)'    {io_uring_register_iowq_aff@@LIBURING_2.1}
>     [A] 'function int io_uring_register_iowq_max_workers(io_uring*, unsigned int*)'    {io_uring_register_iowq_max_workers@@LIBURING_2.1}
>     [A] 'function int io_uring_register_ring_fd(io_uring*)'    {io_uring_register_ring_fd@@LIBURING_2.2}
>     [A] 'function int io_uring_submit_and_wait_timeout(io_uring*, io_uring_cqe**, unsigned int, __kernel_timespec*, sigset_t*)'    {io_uring_submit_and_wait_timeout@@LIBURING_2.2}
>     [A] 'function int io_uring_unregister_buf_ring(io_uring*, int)'    {io_uring_unregister_buf_ring@@LIBURING_2.2}
>     [A] 'function int io_uring_unregister_iowq_aff(io_uring*)'    {io_uring_unregister_iowq_aff@@LIBURING_2.1}
>     [A] 'function int io_uring_unregister_ring_fd(io_uring*)'    {io_uring_unregister_ring_fd@@LIBURING_2.2}
> 
>   1 function with some indirect sub-type change:
> 
>     [C] 'function int __io_uring_get_cqe(io_uring*, io_uring_cqe**, unsigned int, unsigned int, sigset_t*)' at queue.c:113:1 has some indirect sub-type changes:
>       parameter 1 of type 'io_uring*' has sub-type changes:
>         in pointed to type 'struct io_uring' at liburing.h:77:1:
>           type size hasn't changed
>           3 data member insertions:
>             'int enter_ring_fd', at offset 1632 (in bits) at liburing.h:84:1
>             '__u8 int_flags', at offset 1664 (in bits) at liburing.h:85:1
>             'unsigned int pad2', at offset 1696 (in bits) at liburing.h:87:1
>           2 data member changes (1 filtered):
>             type of 'io_uring_sq sq' changed:
>               type size hasn't changed
>               1 data member change:
>                 type of 'io_uring_sqe* sqes' changed:
>                   in pointed to type 'struct io_uring_sqe' at io_uring.h:21:1:
>                     type size hasn't changed
>                     4 data member insertions:
>                       '__u16 personality', at offset 336 (in bits) at io_uring.h:63:1
>                       'union {__s32 splice_fd_in; __u32 file_index;}', at offset 352 (in bits)
>                       '__u64 addr3', at offset 384 (in bits) at io_uring.h:68:1
>                       '__u64 __pad2[1]', at offset 448 (in bits) at io_uring.h:69:1
>                     1 data member changes (1 filtered):
>                       anonymous data member at offset 320 (in bits) changed from:
>                         union {struct {union {__u16 buf_index; __u16 buf_group;}; __u16 personality; __s32 splice_fd_in;}; __u64 __pad2[3];}
>                       to:
>                         union {__u16 buf_index; __u16 buf_group;}
>                       and size changed from 192 to 16 (in bits) (by -176 bits)
>             type of 'unsigned int pad[3]' changed:
>               array element type 'unsigned int' changed:
>                 entity changed from 'unsigned int' to compatible type 'typedef __u8' at int-ll64.h:21:1
>                   type name changed from 'unsigned int' to 'unsigned char'
>                   type size changed from 32 to 8 (in bits)
>               type name changed from 'unsigned int[3]' to '__u8[3]'
>               array type size changed from 96 to 24
>             and offset changed from 1632 to 1672 (in bits) (by +40 bits)
>       parameter 2 of type 'io_uring_cqe**' has sub-type changes:
>         in pointed to type 'io_uring_cqe*':
>           in pointed to type 'struct io_uring_cqe' at io_uring.h:258:1:
>             type size hasn't changed
>             1 data member insertion:
>               '__u64 big_cqe[]', at offset 128 (in bits) at io_uring.h:267:1
> 
> ================ end of changes of 'liburing.so.2.0.0'===============
> 
> I guess we can ignore the added functions as those should always be safe.
> 
> The changed function __io_uring_get_cqe is documented in the header
> as:
> 
>   /*
>    * Helper for the peek/wait single cqe functions. Exported because of that,
>    * but probably shouldn't be used directly in an application.
>    */
> 
> I looked at the source of qemu & ceph and neither call this function.
> 
> Rich.
> 
> -- 
> Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
> Read my programming and virtualization blog: http://rwmj.wordpress.com
> nbdkit - Flexible, fast NBD server with plugins
> https://gitlab.com/nbdkit/nbdkit
> _______________________________________________
> devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
> To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
> Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
> Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
Fedora Windows cross-compiler. Compile Windows programs, test, and
build Windows installers. Over 100 libraries supported.
http://fedoraproject.org/wiki/MinGW
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux