This series adds support for getdents64 in liburing. The intent is to provide a more complete I/O interface for io_uring. Patch 1: fs: add parameter use_fpos to iterate_dir() This adds a new parameter to the function iterate_dir() so the caller can specify if the position is the file position or the position stored in the buffer context. Patch 2: fs: split off vfs_getdents function from getdents64 system call This splits of the iterate_dir part of the syscall in its own dedicated function. This allows to call the function directly from liburing. Patch 3: io_uring: add support for getdents64 Adds the functions to io_uring to support getdents64. There is also a patch series for the changes to liburing. This includes a new test. The patch series is called "liburing: add getdents support." The following tests have been performed: - new liburing getdents test program has been run - xfstests have been run - both tests have been repeated with the kernel memory leak checker and no leaks have been reported. Signed-off-by: Stefan Roesch <shr@xxxxxx> --- V3: - add do_iterate_dir() function to Patch 1 - make iterate_dir() function call do_iterate_dir() This has the advantage that the function signature of iterate_dir does not change V2: Updated the iterate_dir calls in fs/ksmbd, fs/ecryptfs and arch/alpha with the additional parameter. Stefan Roesch (3): fs: add parameter use_fpos to iterate_dir function fs: split off vfs_getdents function of getdents64 syscall io_uring: add support for getdents64 fs/internal.h | 8 +++++ fs/io_uring.c | 52 +++++++++++++++++++++++++++++ fs/readdir.c | 61 ++++++++++++++++++++++++++++------- include/uapi/linux/io_uring.h | 1 + 4 files changed, 110 insertions(+), 12 deletions(-) base-commit: de5de0813b7dbbb71fb5d677ed823505a0e685c5 -- 2.30.2