Re: [PATCH] io_uring: add BUILD_BUG_ON() to assert the layout of struct io_uring_sqe

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

 



On 1/30/20 9:01 AM, Stefan Metzmacher wrote:
> Am 30.01.20 um 16:51 schrieb Jens Axboe:
>> On 1/29/20 6:39 AM, Stefan Metzmacher wrote:
>>> With nesting of anonymous unions and structs it's hard to
>>> review layout changes. It's better to ask the compiler
>>> for these things.
>>
>> I don't think I've once messed it up while adding new features,
>> but I'm fine with adding this as an extra safeguard. Realistically,
>> the regression tests would fail spectacularly if we ever did mess
>> this up.
> 
> Only if you don't just use :-)
> 
> cp linux/include/uapi/linux/io_uring.h \
>    liburing/src/include/liburing/io_uring.h
> 
> BTW: the current diff is
> 
> --- linux/include/uapi/linux/io_uring.h
> +++ liburing/src/include/liburing/io_uring.h
> @@ -43,7 +43,7 @@ struct io_uring_sqe {
>                 struct {
>                         /* index into fixed buffers, if used */
>                         __u16   buf_index;
> -                       /* personality to use, if used */
> +                       /* personality to use */
>                         __u16   personality;
>                 };
>                 __u64   __pad2[3];
> @@ -112,7 +112,6 @@ enum {
>         IORING_OP_SEND,
>         IORING_OP_RECV,
>         IORING_OP_OPENAT2,
> -       IORING_OP_EPOLL_CTL,
> 
>         /* this goes last, obviously */
>         IORING_OP_LAST,
> @@ -203,7 +202,6 @@ struct io_uring_params {
>  #define IORING_FEAT_NODROP             (1U << 1)
>  #define IORING_FEAT_SUBMIT_STABLE      (1U << 2)
>  #define IORING_FEAT_RW_CUR_POS         (1U << 3)
> -#define IORING_FEAT_CUR_PERSONALITY    (1U << 4)
> 
>  /*
>   * io_uring_register(2) opcodes and arguments

I'll copy it in, I do that every now and then. But now's a good time
since everything has been flushed out to Linus.

-- 
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