summaryrefslogtreecommitdiff
path: root/fs/reiserfs/ioctl.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2016-04-15 21:44:31 +0300
committerAl Viro <viro@zeniv.linux.org.uk>2016-05-03 02:47:23 +0300
commit1ae1f3f64735905d1751a64ae4b05b9509486612 (patch)
tree68d21390226b0c68127b300ff68a9920ce45fc29 /fs/reiserfs/ioctl.c
parent5ecfcb265f1e77d5de0140d21de3f8ab25441df7 (diff)
downloadlinux-1ae1f3f64735905d1751a64ae4b05b9509486612.tar.xz
reiserfs: open-code reiserfs_mutex_lock_safe() in reiserfs_unpack()
... and have it use inode_lock() Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/reiserfs/ioctl.c')
-rw-r--r--fs/reiserfs/ioctl.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/reiserfs/ioctl.c b/fs/reiserfs/ioctl.c
index 57045f423893..2f1ddc908013 100644
--- a/fs/reiserfs/ioctl.c
+++ b/fs/reiserfs/ioctl.c
@@ -187,7 +187,11 @@ int reiserfs_unpack(struct inode *inode, struct file *filp)
}
/* we need to make sure nobody is changing the file size beneath us */
- reiserfs_mutex_lock_safe(&inode->i_mutex, inode->i_sb);
+{
+ int depth = reiserfs_write_unlock_nested(inode->i_sb);
+ inode_lock(inode);
+ reiserfs_write_lock_nested(inode->i_sb, depth);
+}
reiserfs_write_lock(inode->i_sb);