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 offset parameter to iterate_dir function. This adds an offset parameter to the iterate_dir() function. The new parameter allows the caller to specify the offset to use. 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 io_uring. 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. V7: - add loff_t *parameter to iterate_dir function - remove do_iterate_dir function - change callers of iterate_dir function v6: - rebased patch series v5: - remove old patch (v4 contained a patch file from v3) V4: - silence compiler warnings 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 offset parameter to iterate_dir function fs: split off vfs_getdents function of getdents64 syscall io_uring: add support for getdents64 arch/alpha/kernel/osf_sys.c | 2 +- fs/ecryptfs/file.c | 2 +- fs/exportfs/expfs.c | 2 +- fs/internal.h | 8 +++++ fs/io_uring.c | 52 +++++++++++++++++++++++++++++ fs/ksmbd/smb2pdu.c | 3 +- fs/ksmbd/vfs.c | 4 +-- fs/nfsd/nfs4recover.c | 2 +- fs/nfsd/vfs.c | 2 +- fs/overlayfs/readdir.c | 6 ++-- fs/readdir.c | 62 +++++++++++++++++++++++++---------- include/linux/fs.h | 2 +- include/uapi/linux/io_uring.h | 1 + 13 files changed, 119 insertions(+), 29 deletions(-) base-commit: d09358c3d161dcea8f02eae1281bc996819cc769 -- 2.30.2