On Thu, May 21, 2020 at 05:19:37PM -0700, Bijan Mottahedeh wrote: > Calling statx directly both simplifies the interface and avoids potential > incompatibilities between sync and async invokations. > > Signed-off-by: Bijan Mottahedeh <bijan.mottahedeh@xxxxxxxxxx> > --- > fs/io_uring.c | 53 +++++++---------------------------------------------- > 1 file changed, 7 insertions(+), 46 deletions(-) > > diff --git a/fs/io_uring.c b/fs/io_uring.c > index 12284ea..0540961 100644 > --- a/fs/io_uring.c > +++ b/fs/io_uring.c > @@ -427,7 +427,10 @@ struct io_open { > union { > unsigned mask; > }; > - struct filename *filename; > + union { > + struct filename *filename; > + const char __user *fname; > + }; NAK. io_uring is already has ridiculous amount of multiplexing, but this kind of shit is right out. And frankly, the more I look at it, the more I want to rip struct io_open out. This kind of trashcan structures has caused tons of headache pretty much every time we had those. Don't do it.