Dominique Martinet wrote on Sat, Apr 22, 2023 at 05:40:18PM +0900: > This splits off the vfs_getdents function from the getdents64 system > call. > This will allow io_uring to call the vfs_getdents function. > > Co-authored-by: Stefan Roesch <shr@xxxxxx> > Signed-off-by: Dominique Martinet <asmadeus@xxxxxxxxxxxxx> > --- > fs/internal.h | 8 ++++++++ > fs/readdir.c | 33 +++++++++++++++++++++++++-------- > 2 files changed, 33 insertions(+), 8 deletions(-) > > diff --git a/fs/internal.h b/fs/internal.h > index dc4eb91a577a..92eeaf3837d1 100644 > --- a/fs/internal.h > +++ b/fs/internal.h > @@ -264,3 +264,11 @@ int setattr_should_drop_sgid(struct mnt_idmap *idmap, > struct mnt_idmap *alloc_mnt_idmap(struct user_namespace *mnt_userns); > struct mnt_idmap *mnt_idmap_get(struct mnt_idmap *idmap); > void mnt_idmap_put(struct mnt_idmap *idmap); > + > +/* > + * fs/readdir.c > + */ > +struct linux_dirent64; > + > +int vfs_getdents(struct file *file, struct linux_dirent64 __user *dirent, > + unsigned int count); > diff --git a/fs/readdir.c b/fs/readdir.c > index 9c53edb60c03..1d541a6f2d55 100644 > --- a/fs/readdir.c > +++ b/fs/readdir.c (This needs an extra `#include "internal.h"`, missing declaration warning reported privately by intel build robot... fs/ doesn't build with W=1 by default; I'll resend v2 after some comments it doesn't make much sense to spam patches at this point) -- Dominique