[PATCH v1 3/4] liburing: Add helper functions for fgetxattr and getxattr

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

Summary:

This adds the helper functions for:
- fgetxattr
- getxattr

Signed-off-by: Stefan Roesch <shr@fb.com>
---
src/include/liburing.h | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

diff --git a/src/include/liburing.h b/src/include/liburing.h
index 38fcc53..2e2355f 100644
--- a/src/include/liburing.h
+++ b/src/include/liburing.h
@@ -673,6 +673,17 @@ static inline void io_uring_prep_linkat(struct io_uring_sqe *sqe, int olddfd,
sqe->hardlink_flags = (__u32) flags;
}

+static inline void io_uring_prep_getxattr(struct io_uring_sqe *sqe,
+ const char *name,
+ const char *value,
+ const char *path,
+ size_t len)
+{
+ io_uring_prep_rw(IORING_OP_GETXATTR, sqe, 0, name, len, (__u64) value);
+ sqe->addr3 = (__u64) path;
+ sqe->xattr_flags = 0;
+}
+
static inline void io_uring_prep_setxattr(struct io_uring_sqe *sqe,
const char *name,
const char *value,
@@ -685,6 +696,16 @@ static inline void io_uring_prep_setxattr(struct io_uring_sqe *sqe,
sqe->xattr_flags = flags;
}

+static inline void io_uring_prep_fgetxattr(struct io_uring_sqe *sqe,
+ int fd,
+ const char *name,
+ const char *value,
+ size_t len)
+{
+ io_uring_prep_rw(IORING_OP_FGETXATTR, sqe, fd, name, len, (__u64) value);
+ sqe->xattr_flags = 0;
+}
+
static inline void io_uring_prep_fsetxattr(struct io_uring_sqe *sqe,
int fd,
const char *name,
--
2.30.2