From: Christoph Hellwig <hch@xxxxxx> commit 09f1bde upstream. This allows to keep vfs_statx static in fs/stat.c to prepare for the following changes. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 4.19.x-5.4.x Signed-off-by: Miao Wang <shankerwangmiao@xxxxxxxxx> Tested-by: Xi Ruoyao <xry111@xxxxxxxxxxx> --- fs/stat.c | 9 +++++++-- include/linux/fs.h | 10 +++------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/fs/stat.c b/fs/stat.c index 268c9eb89656..b09a0e2a6681 100644 --- a/fs/stat.c +++ b/fs/stat.c @@ -165,7 +165,7 @@ EXPORT_SYMBOL(vfs_statx_fd); * * 0 will be returned on success, and a -ve error code if unsuccessful. */ -int vfs_statx(int dfd, const char __user *filename, int flags, +static int vfs_statx(int dfd, const char __user *filename, int flags, struct kstat *stat, u32 request_mask) { struct path path; @@ -197,8 +197,13 @@ int vfs_statx(int dfd, const char __user *filename, int flags, out: return error; } -EXPORT_SYMBOL(vfs_statx); +int vfs_fstatat(int dfd, const char __user *filename, + struct kstat *stat, int flags) +{ + return vfs_statx(dfd, filename, flags | AT_NO_AUTOMOUNT, + stat, STATX_BASIC_STATS); +} #ifdef __ARCH_WANT_OLD_STAT diff --git a/include/linux/fs.h b/include/linux/fs.h index 2db4e5f7d00b..952f103be4a0 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -3259,20 +3259,16 @@ extern const struct inode_operations simple_symlink_inode_operations; extern int iterate_dir(struct file *, struct dir_context *); -extern int vfs_statx(int, const char __user *, int, struct kstat *, u32); extern int vfs_statx_fd(unsigned int, struct kstat *, u32, unsigned int); -static inline int vfs_fstatat(int dfd, const char __user *filename, - struct kstat *stat, int flags) -{ - return vfs_statx(dfd, filename, flags | AT_NO_AUTOMOUNT, - stat, STATX_BASIC_STATS); -} static inline int vfs_fstat(int fd, struct kstat *stat) { return vfs_statx_fd(fd, stat, STATX_BASIC_STATS, 0); } +int vfs_fstatat(int dfd, const char __user *filename, struct kstat *stat, + int flags); + static inline int vfs_stat(const char __user *filename, struct kstat *stat) { return vfs_fstatat(AT_FDCWD, filename, stat, 0); -- 2.43.0