This started as an attempt to add mkdir support to io_uring, but in the end more ops were added. Heavily based on a series that added unlinkat support (commit: 44db0f437a2b ("io_uring.h: add renameat and unlinkat opcodes") and a couple of subsequent ones). The kernel side of the change: https://lore.kernel.org/io-uring/20210603051836.2614535-1-dkadashev@xxxxxxxxx/T/ 1-2 adds mkdirat support (the opcode is already there) and test 3-5 adds symlinkat support and test 6-8 adds linkat support and test 9-11 adds mknodat support and test v2: - add symlinkat, linkat, mknodat Dmitry Kadashev (11): liburing.h: add mkdirat prep helper Add mkdirat test case io_uring.h: add symlinkat opcode liburing.h: add symlinkat prep helper Add symlinkat test case io_uring.h: add linkat opcode liburing.h: add linkat prep helper Add linkat test case io_uring.h: add mknodat opcode liburing.h: add mknodat prep helper Add mknod test case .gitignore | 4 + src/include/liburing.h | 29 ++++++ src/include/liburing/io_uring.h | 5 ++ test/Makefile | 8 ++ test/hardlink.c | 133 +++++++++++++++++++++++++++ test/mkdir.c | 105 ++++++++++++++++++++++ test/mknod.c | 155 ++++++++++++++++++++++++++++++++ test/symlink.c | 113 +++++++++++++++++++++++ 8 files changed, 552 insertions(+) create mode 100644 test/hardlink.c create mode 100644 test/mkdir.c create mode 100644 test/mknod.c create mode 100644 test/symlink.c -- 2.30.2