fs: move vfs_fstatat out of line

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>
This commit is contained in:
Christoph Hellwig 2020-09-26 09:03:59 +02:00 committed by Al Viro
parent 0b2c6693b4
commit 09f1bde401
2 changed files with 9 additions and 9 deletions

View File

@ -181,7 +181,7 @@ static inline unsigned vfs_stat_set_lookup_flags(unsigned *lookup_flags,
* *
* 0 will be returned on success, and a -ve error code if unsuccessful. * 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 kstat *stat, u32 request_mask)
{ {
struct path path; struct path path;
@ -209,8 +209,13 @@ retry:
out: out:
return error; 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 #ifdef __ARCH_WANT_OLD_STAT

View File

@ -3162,15 +3162,10 @@ extern const struct inode_operations simple_symlink_inode_operations;
extern int iterate_dir(struct file *, struct dir_context *); extern int iterate_dir(struct file *, struct dir_context *);
extern int vfs_statx(int, const char __user *, int, struct kstat *, u32); int vfs_fstatat(int dfd, const char __user *filename, struct kstat *stat,
int flags);
int vfs_fstat(int fd, struct kstat *stat); int vfs_fstat(int fd, struct kstat *stat);
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_stat(const char __user *filename, struct kstat *stat) static inline int vfs_stat(const char __user *filename, struct kstat *stat)
{ {
return vfs_fstatat(AT_FDCWD, filename, stat, 0); return vfs_fstatat(AT_FDCWD, filename, stat, 0);