Hi Pavel, On 7/25/22 5:03 PM, Pavel Begunkov wrote:
+static inline void io_uring_prep_notif_update(struct io_uring_sqe *sqe, + __u64 new_tag, /* 0 to ignore */ + unsigned offset, unsigned nr) +{ + io_uring_prep_rw(IORING_OP_FILES_UPDATE, sqe, -1, (void *)new_tag, nr, + (__u64)offset); + sqe->ioprio = IORING_RSRC_UPDATE_NOTIF; +} +
This part breaks 32-bit architecture. include/liburing.h: In function ‘io_uring_prep_notif_update’: In file included from syscall.h:14, from setup.c:5: include/liburing.h: In function ‘io_uring_prep_notif_update’: include/liburing.h:716:59: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast] 716 | io_uring_prep_rw(IORING_OP_FILES_UPDATE, sqe, -1, (void *)new_tag, nr, | ^ include/liburing.h:716:59: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast] 716 | io_uring_prep_rw(IORING_OP_FILES_UPDATE, sqe, -1, (void *)new_tag, nr, | -- Ammar Faizi