On 2/26/20 1:37 AM, Bob Liu wrote: > diff --git a/include/uapi/linux/io_uring.h b/include/uapi/linux/io_uring.h > index a3300e1..98fa3f1 100644 > --- a/include/uapi/linux/io_uring.h > +++ b/include/uapi/linux/io_uring.h > @@ -62,6 +62,8 @@ enum { > IORING_OP_NOP, > IORING_OP_READV, > IORING_OP_WRITEV, > + IORING_OP_READV_PI, > + IORING_OP_WRITEV_PI, > IORING_OP_FSYNC, > IORING_OP_READ_FIXED, > IORING_OP_WRITE_FIXED, So this one renumbers everything past IORING_OP_WRITEV, breaking the ABI in a very bad way. I'm guessing that was entirely unintentional? Any new command must go at the end of the list. You're also not updating io_op_defs[] with the two new commands, which means it won't compile at all. I'm guessing you tested this on an older version of the kernel which didn't have io_op_defs[]? -- Jens Axboe