One of the key architectual tenets of io-uring is to keep the parameters for io-uring stable. After the call has been submitted, its value can be changed. Unfortunaltely this is not the case for the current statx implementation. Patch: Part 1: fs: replace const char* parameter in vfs_statx and do_statx with struct filename Create filename object outside of do_statx and vfs_statx, so io-uring can create the filename object during the prepare phase Part 2: io-uring: Copy path name during prepare stage for statx Create and store filename object during prepare phase There is also a patch for the liburing libray to add a new test case. This patch makes sure that the api is stable. "liburing: add test for stable statx api" The patch has been tested with the liburing test suite and fstests. Changes: V2: don't check name in vfs_fstatat V3: don't check name in statx syscall V4: - incorporate Steven Rostedt's fix - Merge both patches to avoid bisect problem (the io-uring changes have a dependency on the parameter change in the fs layer) Stefan Roesch (1): io-uring: Make statx API stable fs/internal.h | 4 +++- fs/io_uring.c | 22 ++++++++++++++++++++-- fs/stat.c | 49 +++++++++++++++++++++++++++++++++++-------------- 3 files changed, 58 insertions(+), 17 deletions(-) base-commit: 5c1ee569660d4a205dced9cb4d0306b907fb7599 -- 2.30.2