#include "xfs.h"
#include "xfs_fs.h"
#include "xfs_shared.h"
#include "xfs_format.h"
#include "xfs_log_format.h"
#include "xfs_trans_resv.h"
#include "xfs_mount.h"
#include "xfs_inode.h"
#include "xfs_rtalloc.h"
#include "xfs_iwalk.h"
#include "xfs_itable.h"
#include "xfs_error.h"
#include "xfs_da_format.h"
#include "xfs_da_btree.h"
#include "xfs_attr.h"
#include "xfs_bmap.h"
#include "xfs_bmap_util.h"
#include "xfs_fsops.h"
#include "xfs_discard.h"
#include "xfs_quota.h"
#include "xfs_trace.h"
#include "xfs_icache.h"
#include "xfs_trans.h"
#include "xfs_btree.h"
#include <linux/fsmap.h>
#include "xfs_fsmap.h"
#include "scrub/xfs_scrub.h"
#include "xfs_sb.h"
#include "xfs_ag.h"
#include "xfs_health.h"
#include "xfs_reflink.h"
#include "xfs_ioctl.h"
#include "xfs_xattr.h"
#include "xfs_rtbitmap.h"
#include "xfs_file.h"
#include "xfs_exchrange.h"
#include "xfs_handle.h"
#include <linux/mount.h>
#include <linux/fileattr.h>
int
xfs_fsbulkstat_one_fmt(
struct xfs_ibulk *breq,
const struct xfs_bulkstat *bstat)
{ … }
int
xfs_fsinumbers_fmt(
struct xfs_ibulk *breq,
const struct xfs_inumbers *igrp)
{ … }
STATIC int
xfs_ioc_fsbulkstat(
struct file *file,
unsigned int cmd,
void __user *arg)
{ … }
static int
xfs_bulkstat_fmt(
struct xfs_ibulk *breq,
const struct xfs_bulkstat *bstat)
{ … }
static int
xfs_bulk_ireq_setup(
struct xfs_mount *mp,
const struct xfs_bulk_ireq *hdr,
struct xfs_ibulk *breq,
void __user *ubuffer)
{ … }
static void
xfs_bulk_ireq_teardown(
struct xfs_bulk_ireq *hdr,
struct xfs_ibulk *breq)
{ … }
STATIC int
xfs_ioc_bulkstat(
struct file *file,
unsigned int cmd,
struct xfs_bulkstat_req __user *arg)
{ … }
STATIC int
xfs_inumbers_fmt(
struct xfs_ibulk *breq,
const struct xfs_inumbers *igrp)
{ … }
STATIC int
xfs_ioc_inumbers(
struct xfs_mount *mp,
unsigned int cmd,
struct xfs_inumbers_req __user *arg)
{ … }
STATIC int
xfs_ioc_fsgeometry(
struct xfs_mount *mp,
void __user *arg,
int struct_version)
{ … }
STATIC int
xfs_ioc_ag_geometry(
struct xfs_mount *mp,
void __user *arg)
{ … }
static void
xfs_fill_fsxattr(
struct xfs_inode *ip,
int whichfork,
struct fileattr *fa)
{ … }
STATIC int
xfs_ioc_fsgetxattra(
xfs_inode_t *ip,
void __user *arg)
{ … }
int
xfs_fileattr_get(
struct dentry *dentry,
struct fileattr *fa)
{ … }
static int
xfs_ioctl_setattr_xflags(
struct xfs_trans *tp,
struct xfs_inode *ip,
struct fileattr *fa)
{ … }
static void
xfs_ioctl_setattr_prepare_dax(
struct xfs_inode *ip,
struct fileattr *fa)
{ … }
static struct xfs_trans *
xfs_ioctl_setattr_get_trans(
struct xfs_inode *ip,
struct xfs_dquot *pdqp)
{ … }
static int
xfs_ioctl_setattr_check_extsize(
struct xfs_inode *ip,
struct fileattr *fa)
{ … }
static int
xfs_ioctl_setattr_check_cowextsize(
struct xfs_inode *ip,
struct fileattr *fa)
{ … }
static int
xfs_ioctl_setattr_check_projid(
struct xfs_inode *ip,
struct fileattr *fa)
{ … }
int
xfs_fileattr_set(
struct mnt_idmap *idmap,
struct dentry *dentry,
struct fileattr *fa)
{ … }
static bool
xfs_getbmap_format(
struct kgetbmap *p,
struct getbmapx __user *u,
size_t recsize)
{ … }
STATIC int
xfs_ioc_getbmap(
struct file *file,
unsigned int cmd,
void __user *arg)
{ … }
STATIC int
xfs_ioc_getfsmap(
struct xfs_inode *ip,
struct fsmap_head __user *arg)
{ … }
int
xfs_ioc_swapext(
xfs_swapext_t *sxp)
{ … }
static int
xfs_ioc_getlabel(
struct xfs_mount *mp,
char __user *user_label)
{ … }
static int
xfs_ioc_setlabel(
struct file *filp,
struct xfs_mount *mp,
char __user *newlabel)
{ … }
static inline int
xfs_fs_eofblocks_from_user(
struct xfs_fs_eofblocks *src,
struct xfs_icwalk *dst)
{ … }
static int
xfs_ioctl_getset_resblocks(
struct file *filp,
unsigned int cmd,
void __user *arg)
{ … }
static int
xfs_ioctl_fs_counts(
struct xfs_mount *mp,
struct xfs_fsop_counts __user *uarg)
{ … }
#define XFS_IOC_ALLOCSP …
#define XFS_IOC_FREESP …
#define XFS_IOC_ALLOCSP64 …
#define XFS_IOC_FREESP64 …
long
xfs_file_ioctl(
struct file *filp,
unsigned int cmd,
unsigned long p)
{ … }