From: Hao Xu <howeyxu@xxxxxxxxxxx> This series introduce getdents64 to io_uring, the code logic is similar with the snychronized version's. It first try nowait issue, and offload it to io-wq threads if the first try fails. v2->v3: - removed the kernfs patches - add f_pos_lock logic - remove the "reduce last EOF getdents try" optimization since Dominique reports that doesn't make difference - remove the rewind logic, I think the right way is to introduce lseek to io_uring not to patch this logic to getdents. - add Singed-off-by of Stefan Roesch for patch 1 since checkpatch complained that Co-developed-by someone should be accompanied with Signed-off-by same person, I can remove them if Stefan thinks that's not proper. Dominique Martinet (1): fs: split off vfs_getdents function of getdents64 syscall Hao Xu (2): vfs_getdents/struct dir_context: add flags field io_uring: add support for getdents fs/internal.h | 8 +++++ fs/readdir.c | 36 ++++++++++++++++----- include/linux/fs.h | 8 +++++ include/uapi/linux/io_uring.h | 7 ++++ io_uring/fs.c | 60 +++++++++++++++++++++++++++++++++++ io_uring/fs.h | 3 ++ io_uring/opdef.c | 8 +++++ 7 files changed, 122 insertions(+), 8 deletions(-) -- 2.25.1