|
@@ -595,13 +595,12 @@ xfs_attrmulti_by_handle(
|
|
|
|
|
|
int
|
|
|
xfs_ioc_space(
|
|
|
- struct xfs_inode *ip,
|
|
|
- struct inode *inode,
|
|
|
struct file *filp,
|
|
|
- int ioflags,
|
|
|
unsigned int cmd,
|
|
|
xfs_flock64_t *bf)
|
|
|
{
|
|
|
+ struct inode *inode = file_inode(filp);
|
|
|
+ struct xfs_inode *ip = XFS_I(inode);
|
|
|
struct iattr iattr;
|
|
|
enum xfs_prealloc_flags flags = 0;
|
|
|
uint iolock = XFS_IOLOCK_EXCL;
|
|
@@ -626,7 +625,7 @@ xfs_ioc_space(
|
|
|
|
|
|
if (filp->f_flags & O_DSYNC)
|
|
|
flags |= XFS_PREALLOC_SYNC;
|
|
|
- if (ioflags & XFS_IO_INVIS)
|
|
|
+ if (filp->f_mode & FMODE_NOCMTIME)
|
|
|
flags |= XFS_PREALLOC_INVISIBLE;
|
|
|
|
|
|
error = mnt_want_write_file(filp);
|
|
@@ -1464,8 +1463,7 @@ xfs_getbmap_format(void **ap, struct getbmapx *bmv, int *full)
|
|
|
|
|
|
STATIC int
|
|
|
xfs_ioc_getbmap(
|
|
|
- struct xfs_inode *ip,
|
|
|
- int ioflags,
|
|
|
+ struct file *file,
|
|
|
unsigned int cmd,
|
|
|
void __user *arg)
|
|
|
{
|
|
@@ -1479,10 +1477,10 @@ xfs_ioc_getbmap(
|
|
|
return -EINVAL;
|
|
|
|
|
|
bmx.bmv_iflags = (cmd == XFS_IOC_GETBMAPA ? BMV_IF_ATTRFORK : 0);
|
|
|
- if (ioflags & XFS_IO_INVIS)
|
|
|
+ if (file->f_mode & FMODE_NOCMTIME)
|
|
|
bmx.bmv_iflags |= BMV_IF_NO_DMAPI_READ;
|
|
|
|
|
|
- error = xfs_getbmap(ip, &bmx, xfs_getbmap_format,
|
|
|
+ error = xfs_getbmap(XFS_I(file_inode(file)), &bmx, xfs_getbmap_format,
|
|
|
(__force struct getbmap *)arg+1);
|
|
|
if (error)
|
|
|
return error;
|
|
@@ -1619,12 +1617,8 @@ xfs_file_ioctl(
|
|
|
struct xfs_inode *ip = XFS_I(inode);
|
|
|
struct xfs_mount *mp = ip->i_mount;
|
|
|
void __user *arg = (void __user *)p;
|
|
|
- int ioflags = 0;
|
|
|
int error;
|
|
|
|
|
|
- if (filp->f_mode & FMODE_NOCMTIME)
|
|
|
- ioflags |= XFS_IO_INVIS;
|
|
|
-
|
|
|
trace_xfs_file_ioctl(ip);
|
|
|
|
|
|
switch (cmd) {
|
|
@@ -1643,7 +1637,7 @@ xfs_file_ioctl(
|
|
|
|
|
|
if (copy_from_user(&bf, arg, sizeof(bf)))
|
|
|
return -EFAULT;
|
|
|
- return xfs_ioc_space(ip, inode, filp, ioflags, cmd, &bf);
|
|
|
+ return xfs_ioc_space(filp, cmd, &bf);
|
|
|
}
|
|
|
case XFS_IOC_DIOINFO: {
|
|
|
struct dioattr da;
|
|
@@ -1702,7 +1696,7 @@ xfs_file_ioctl(
|
|
|
|
|
|
case XFS_IOC_GETBMAP:
|
|
|
case XFS_IOC_GETBMAPA:
|
|
|
- return xfs_ioc_getbmap(ip, ioflags, cmd, arg);
|
|
|
+ return xfs_ioc_getbmap(filp, cmd, arg);
|
|
|
|
|
|
case XFS_IOC_GETBMAPX:
|
|
|
return xfs_ioc_getbmapx(ip, arg);
|