[PATCH v1 1/4] liburing: Update io_uring in liburing

Stefan Roesch
2021-11-29T22:17:11Z

Summary:

Update liburing with the kernel changes in io_uring.

Signed-off-by: Stefan Roesch <shr@fb.com>
---
src/include/liburing.h | 3 ++-
src/include/liburing/io_uring.h | 10 ++++++++--
2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/src/include/liburing.h b/src/include/liburing.h
index 169e098..1c978db 100644
--- a/src/include/liburing.h
+++ b/src/include/liburing.h
@@ -258,7 +258,8 @@ static inline void io_uring_prep_rw(int op, struct io_uring_sqe *sqe, int fd,
sqe->buf_index = 0;
sqe->personality = 0;
sqe->file_index = 0;
- sqe->__pad2[0] = sqe->__pad2[1] = 0;
+ sqe->addr3 = 0;
+ sqe->__pad2[0] = 0;
}

/**
diff --git a/src/include/liburing/io_uring.h b/src/include/liburing/io_uring.h
index a7d193d..e5bb6ce 100644
--- a/src/include/liburing/io_uring.h
+++ b/src/include/liburing/io_uring.h
@@ -49,6 +49,7 @@ struct io_uring_sqe {
__u32 rename_flags;
__u32 unlink_flags;
__u32 hardlink_flags;
+ __u32 xattr_flags;
};
__u64 user_data; /* data to be passed back at completion time */
/* pack this to avoid bogus arm OABI complaints */
@@ -64,7 +65,8 @@ struct io_uring_sqe {
__s32 splice_fd_in;
__u32 file_index;
};
- __u64 __pad2[2];
+ __u64 addr3;
+ __u64 __pad2[1];
};

enum {
@@ -147,6 +149,10 @@ enum {
IORING_OP_MKDIRAT,
IORING_OP_SYMLINKAT,
IORING_OP_LINKAT,
+ IORING_OP_FGETXATTR,
+ IORING_OP_FSETXATTR,
+ IORING_OP_GETXATTR,
+ IORING_OP_SETXATTR,

/* this goes last, obviously */
IORING_OP_LAST,
@@ -386,7 +392,7 @@ struct io_uring_probe {
__u8 ops_len; /* length of ops[] array below */
__u16 resv;
__u32 resv2[3];
- struct io_uring_probe_op ops[];
+ struct io_uring_probe_op ops[0];
};

struct io_uring_restriction {
--
2.30.2