From: Christoph Hellwig hch@lst.de
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@lst.de Signed-off-by: Al Viro viro@zeniv.linux.org.uk
Cc: stable@vger.kernel.org # 4.19.x-5.4.x Signed-off-by: Miao Wang shankerwangmiao@gmail.com Tested-by: Xi Ruoyao xry111@xry111.site --- 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);