fs: remove vfs_statx_fd

vfs_statx_fd is only used to implement vfs_fstat.  Remove vfs_statx_fd
and just implement vfs_fstat directly.

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:57 +02:00
committed by Al Viro
parent a7c9df0446
commit da9aa5d96b
2 changed files with 8 additions and 21 deletions

View File

@@ -126,35 +126,27 @@ int vfs_getattr(const struct path *path, struct kstat *stat,
EXPORT_SYMBOL(vfs_getattr);
/**
* vfs_statx_fd - Get the enhanced basic attributes by file descriptor
* vfs_fstat - Get the basic attributes by file descriptor
* @fd: The file descriptor referring to the file of interest
* @stat: The result structure to fill in.
* @request_mask: STATX_xxx flags indicating what the caller wants
* @query_flags: Query mode (KSTAT_QUERY_FLAGS)
*
* This function is a wrapper around vfs_getattr(). The main difference is
* that it uses a file descriptor to determine the file location.
*
* 0 will be returned on success, and a -ve error code if unsuccessful.
*/
int vfs_statx_fd(unsigned int fd, struct kstat *stat,
u32 request_mask, unsigned int query_flags)
int vfs_fstat(int fd, struct kstat *stat)
{
struct fd f;
int error = -EBADF;
if (query_flags & ~KSTAT_QUERY_FLAGS)
return -EINVAL;
int error;
f = fdget_raw(fd);
if (f.file) {
error = vfs_getattr(&f.file->f_path, stat,
request_mask, query_flags);
fdput(f);
}
if (!f.file)
return -EBADF;
error = vfs_getattr(&f.file->f_path, stat, STATX_BASIC_STATS, 0);
fdput(f);
return error;
}
EXPORT_SYMBOL(vfs_statx_fd);
static inline unsigned vfs_stat_set_lookup_flags(unsigned *lookup_flags,
int flags)