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