switch a bunch of places to mnt_want_write_file()
authorAl Viro <viro@zeniv.linux.org.uk>
Wed, 23 Nov 2011 16:57:51 +0000 (11:57 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Wed, 4 Jan 2012 03:52:35 +0000 (22:52 -0500)
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>
16 files changed:
fs/btrfs/ioctl.c
fs/ext2/ioctl.c
fs/ext3/ioctl.c
fs/ext4/ioctl.c
fs/fat/file.c
fs/gfs2/file.c
fs/hfsplus/ioctl.c
fs/jfs/ioctl.c
fs/nfsd/nfs4recover.c
fs/nilfs2/ioctl.c
fs/ocfs2/ioctl.c
fs/ocfs2/move_extents.c
fs/reiserfs/ioctl.c
fs/ubifs/ioctl.c
fs/xfs/xfs_ioctl.c
fs/xfs/xfs_ioctl32.c

index c04f02c..20dd8f3 100644 (file)
@@ -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;
 
index f81e250..61a3f96 100644 (file)
@@ -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;
 
index ba1b54e..a02863a 100644 (file)
@@ -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;
 
index a567968..9a49760 100644 (file)
@@ -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);
index c118acf..50746a1 100644 (file)
@@ -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;
 
index ce36a56..28fc6e3 100644 (file)
@@ -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;
 
index fbaa669..31d3fe5 100644 (file)
@@ -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;
 
index 6f98a18..73d9eaa 100644 (file)
@@ -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;
 
index ed083b9..a9aa2f1 100644 (file)
@@ -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);
index ac258be..b7697d1 100644 (file)
@@ -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;
 
index 726ff26..892ace2 100644 (file)
@@ -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,
index 184c76b..1d3bf83 100644 (file)
@@ -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;
 
index 4e15305..0b94d7b 100644 (file)
@@ -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)) {
index 548acf4..e52c845 100644 (file)
@@ -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);
index d99a905..b436e17 100644 (file)
@@ -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(
index 54e623b..dd4ba1d 100644 (file)
@@ -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(