switch a bunch of places to mnt_want_write_file()

it's both faster (in case when file has been opened for write) and cleaner.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro 2011-11-23 11:57:51 -05:00
Родитель f47ec3f283
Коммит a561be7100
16 изменённых файлов: 42 добавлений и 42 удалений

Просмотреть файл

@ -201,7 +201,7 @@ static int btrfs_ioctl_setflags(struct file *file, void __user *arg)
}
}
ret = mnt_want_write(file->f_path.mnt);
ret = mnt_want_write_file(file);
if (ret)
goto out_unlock;
@ -1855,7 +1855,7 @@ static noinline int btrfs_ioctl_snap_destroy(struct file *file,
goto out;
}
err = mnt_want_write(file->f_path.mnt);
err = mnt_want_write_file(file);
if (err)
goto out;
@ -1987,7 +1987,7 @@ static int btrfs_ioctl_defrag(struct file *file, void __user *argp)
if (btrfs_root_readonly(root))
return -EROFS;
ret = mnt_want_write(file->f_path.mnt);
ret = mnt_want_write_file(file);
if (ret)
return ret;
@ -2195,7 +2195,7 @@ static noinline long btrfs_ioctl_clone(struct file *file, unsigned long srcfd,
if (btrfs_root_readonly(root))
return -EROFS;
ret = mnt_want_write(file->f_path.mnt);
ret = mnt_want_write_file(file);
if (ret)
return ret;
@ -2549,7 +2549,7 @@ static long btrfs_ioctl_trans_start(struct file *file)
if (btrfs_root_readonly(root))
goto out;
ret = mnt_want_write(file->f_path.mnt);
ret = mnt_want_write_file(file);
if (ret)
goto out;

Просмотреть файл

@ -35,7 +35,7 @@ long ext2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
case EXT2_IOC_SETFLAGS: {
unsigned int oldflags;
ret = mnt_want_write(filp->f_path.mnt);
ret = mnt_want_write_file(filp);
if (ret)
return ret;
@ -91,7 +91,7 @@ setflags_out:
case EXT2_IOC_SETVERSION:
if (!inode_owner_or_capable(inode))
return -EPERM;
ret = mnt_want_write(filp->f_path.mnt);
ret = mnt_want_write_file(filp);
if (ret)
return ret;
if (get_user(inode->i_generation, (int __user *) arg)) {
@ -121,7 +121,7 @@ setflags_out:
if (get_user(rsv_window_size, (int __user *)arg))
return -EFAULT;
ret = mnt_want_write(filp->f_path.mnt);
ret = mnt_want_write_file(filp);
if (ret)
return ret;

Просмотреть файл

@ -44,7 +44,7 @@ long ext3_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
if (get_user(flags, (int __user *) arg))
return -EFAULT;
err = mnt_want_write(filp->f_path.mnt);
err = mnt_want_write_file(filp);
if (err)
return err;
@ -126,7 +126,7 @@ flags_out:
if (!inode_owner_or_capable(inode))
return -EPERM;
err = mnt_want_write(filp->f_path.mnt);
err = mnt_want_write_file(filp);
if (err)
return err;
if (get_user(generation, (int __user *) arg)) {
@ -164,7 +164,7 @@ setversion_out:
if (!test_opt(inode->i_sb, RESERVATION) ||!S_ISREG(inode->i_mode))
return -ENOTTY;
err = mnt_want_write(filp->f_path.mnt);
err = mnt_want_write_file(filp);
if (err)
return err;
@ -206,7 +206,7 @@ setrsvsz_out:
if (!capable(CAP_SYS_RESOURCE))
return -EPERM;
err = mnt_want_write(filp->f_path.mnt);
err = mnt_want_write_file(filp);
if (err)
return err;
@ -232,7 +232,7 @@ group_extend_out:
if (!capable(CAP_SYS_RESOURCE))
return -EPERM;
err = mnt_want_write(filp->f_path.mnt);
err = mnt_want_write_file(filp);
if (err)
return err;

Просмотреть файл

@ -45,7 +45,7 @@ long ext4_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
if (get_user(flags, (int __user *) arg))
return -EFAULT;
err = mnt_want_write(filp->f_path.mnt);
err = mnt_want_write_file(filp);
if (err)
return err;
@ -150,7 +150,7 @@ flags_out:
if (!inode_owner_or_capable(inode))
return -EPERM;
err = mnt_want_write(filp->f_path.mnt);
err = mnt_want_write_file(filp);
if (err)
return err;
if (get_user(generation, (int __user *) arg)) {
@ -192,7 +192,7 @@ setversion_out:
return -EOPNOTSUPP;
}
err = mnt_want_write(filp->f_path.mnt);
err = mnt_want_write_file(filp);
if (err)
return err;
@ -240,7 +240,7 @@ setversion_out:
return -EOPNOTSUPP;
}
err = mnt_want_write(filp->f_path.mnt);
err = mnt_want_write_file(filp);
if (err)
goto mext_out;
@ -277,7 +277,7 @@ mext_out:
return -EOPNOTSUPP;
}
err = mnt_want_write(filp->f_path.mnt);
err = mnt_want_write_file(filp);
if (err)
return err;
@ -301,7 +301,7 @@ mext_out:
if (!inode_owner_or_capable(inode))
return -EACCES;
err = mnt_want_write(filp->f_path.mnt);
err = mnt_want_write_file(filp);
if (err)
return err;
/*
@ -323,7 +323,7 @@ mext_out:
if (!inode_owner_or_capable(inode))
return -EACCES;
err = mnt_want_write(filp->f_path.mnt);
err = mnt_want_write_file(filp);
if (err)
return err;
err = ext4_alloc_da_blocks(inode);

Просмотреть файл

@ -44,7 +44,7 @@ static int fat_ioctl_set_attributes(struct file *file, u32 __user *user_attr)
goto out;
mutex_lock(&inode->i_mutex);
err = mnt_want_write(file->f_path.mnt);
err = mnt_want_write_file(file);
if (err)
goto out_unlock_inode;

Просмотреть файл

@ -223,7 +223,7 @@ static int do_gfs2_set_flags(struct file *filp, u32 reqflags, u32 mask)
int error;
u32 new_flags, flags;
error = mnt_want_write(filp->f_path.mnt);
error = mnt_want_write_file(filp);
if (error)
return error;

Просмотреть файл

@ -43,7 +43,7 @@ static int hfsplus_ioctl_setflags(struct file *file, int __user *user_flags)
unsigned int flags;
int err = 0;
err = mnt_want_write(file->f_path.mnt);
err = mnt_want_write_file(file);
if (err)
goto out;

Просмотреть файл

@ -68,7 +68,7 @@ long jfs_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
unsigned int oldflags;
int err;
err = mnt_want_write(filp->f_path.mnt);
err = mnt_want_write_file(filp);
if (err)
return err;

Просмотреть файл

@ -147,7 +147,7 @@ nfsd4_create_clid_dir(struct nfs4_client *clp)
status = -EEXIST;
if (dentry->d_inode)
goto out_put;
status = mnt_want_write(rec_file->f_path.mnt);
status = mnt_want_write_file(rec_file);
if (status)
goto out_put;
status = vfs_mkdir(dir->d_inode, dentry, S_IRWXU);
@ -268,7 +268,7 @@ nfsd4_remove_clid_dir(struct nfs4_client *clp)
if (!rec_file || !clp->cl_firststate)
return;
status = mnt_want_write(rec_file->f_path.mnt);
status = mnt_want_write_file(rec_file);
if (status)
goto out;
clp->cl_firststate = 0;
@ -311,7 +311,7 @@ nfsd4_recdir_purge_old(void) {
if (!rec_file)
return;
status = mnt_want_write(rec_file->f_path.mnt);
status = mnt_want_write_file(rec_file);
if (status)
goto out;
status = nfsd4_list_rec_dir(purge_old);

Просмотреть файл

@ -27,7 +27,7 @@
#include <linux/uaccess.h> /* copy_from_user(), copy_to_user() */
#include <linux/vmalloc.h>
#include <linux/compat.h> /* compat_ptr() */
#include <linux/mount.h> /* mnt_want_write(), mnt_drop_write() */
#include <linux/mount.h> /* mnt_want_write_file(), mnt_drop_write() */
#include <linux/buffer_head.h>
#include <linux/nilfs2_fs.h>
#include "nilfs.h"
@ -119,7 +119,7 @@ static int nilfs_ioctl_setflags(struct inode *inode, struct file *filp,
if (get_user(flags, (int __user *)argp))
return -EFAULT;
ret = mnt_want_write(filp->f_path.mnt);
ret = mnt_want_write_file(filp);
if (ret)
return ret;
@ -174,7 +174,7 @@ static int nilfs_ioctl_change_cpmode(struct inode *inode, struct file *filp,
if (!capable(CAP_SYS_ADMIN))
return -EPERM;
ret = mnt_want_write(filp->f_path.mnt);
ret = mnt_want_write_file(filp);
if (ret)
return ret;
@ -210,7 +210,7 @@ nilfs_ioctl_delete_checkpoint(struct inode *inode, struct file *filp,
if (!capable(CAP_SYS_ADMIN))
return -EPERM;
ret = mnt_want_write(filp->f_path.mnt);
ret = mnt_want_write_file(filp);
if (ret)
return ret;
@ -591,7 +591,7 @@ static int nilfs_ioctl_clean_segments(struct inode *inode, struct file *filp,
if (!capable(CAP_SYS_ADMIN))
return -EPERM;
ret = mnt_want_write(filp->f_path.mnt);
ret = mnt_want_write_file(filp);
if (ret)
return ret;
@ -710,7 +710,7 @@ static int nilfs_ioctl_resize(struct inode *inode, struct file *filp,
if (!capable(CAP_SYS_ADMIN))
goto out;
ret = mnt_want_write(filp->f_path.mnt);
ret = mnt_want_write_file(filp);
if (ret)
goto out;

Просмотреть файл

@ -906,7 +906,7 @@ long ocfs2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
if (get_user(flags, (int __user *) arg))
return -EFAULT;
status = mnt_want_write(filp->f_path.mnt);
status = mnt_want_write_file(filp);
if (status)
return status;
status = ocfs2_set_inode_attr(inode, flags,

Просмотреть файл

@ -1059,7 +1059,7 @@ int ocfs2_ioctl_move_extents(struct file *filp, void __user *argp)
struct ocfs2_move_extents range;
struct ocfs2_move_extents_context *context = NULL;
status = mnt_want_write(filp->f_path.mnt);
status = mnt_want_write_file(filp);
if (status)
return status;

Просмотреть файл

@ -55,7 +55,7 @@ long reiserfs_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
break;
}
err = mnt_want_write(filp->f_path.mnt);
err = mnt_want_write_file(filp);
if (err)
break;
@ -107,7 +107,7 @@ setflags_out:
err = -EPERM;
break;
}
err = mnt_want_write(filp->f_path.mnt);
err = mnt_want_write_file(filp);
if (err)
break;
if (get_user(inode->i_generation, (int __user *)arg)) {

Просмотреть файл

@ -173,7 +173,7 @@ long ubifs_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
* Make sure the file-system is read-write and make sure it
* will not become read-only while we are changing the flags.
*/
err = mnt_want_write(file->f_path.mnt);
err = mnt_want_write_file(file);
if (err)
return err;
dbg_gen("set flags: %#x, i_flags %#x", flags, inode->i_flags);

Просмотреть файл

@ -559,7 +559,7 @@ xfs_attrmulti_by_handle(
ops[i].am_flags);
break;
case ATTR_OP_SET:
ops[i].am_error = mnt_want_write(parfilp->f_path.mnt);
ops[i].am_error = mnt_want_write_file(parfilp);
if (ops[i].am_error)
break;
ops[i].am_error = xfs_attrmulti_attr_set(
@ -569,7 +569,7 @@ xfs_attrmulti_by_handle(
mnt_drop_write(parfilp->f_path.mnt);
break;
case ATTR_OP_REMOVE:
ops[i].am_error = mnt_want_write(parfilp->f_path.mnt);
ops[i].am_error = mnt_want_write_file(parfilp);
if (ops[i].am_error)
break;
ops[i].am_error = xfs_attrmulti_attr_remove(

Просмотреть файл

@ -454,7 +454,7 @@ xfs_compat_attrmulti_by_handle(
&ops[i].am_length, ops[i].am_flags);
break;
case ATTR_OP_SET:
ops[i].am_error = mnt_want_write(parfilp->f_path.mnt);
ops[i].am_error = mnt_want_write_file(parfilp);
if (ops[i].am_error)
break;
ops[i].am_error = xfs_attrmulti_attr_set(
@ -464,7 +464,7 @@ xfs_compat_attrmulti_by_handle(
mnt_drop_write(parfilp->f_path.mnt);
break;
case ATTR_OP_REMOVE:
ops[i].am_error = mnt_want_write(parfilp->f_path.mnt);
ops[i].am_error = mnt_want_write_file(parfilp);
if (ops[i].am_error)
break;
ops[i].am_error = xfs_attrmulti_attr_remove(