aboutsummaryrefslogtreecommitdiffstats
path: root/fs/direct-io.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2016-01-22 15:40:57 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2016-01-22 18:04:28 -0500
commit5955102c9984fa081b2d570cfac75c97eecf8f3b (patch)
treea4744386eac4b916e847eb4eedfada158f6527b4 /fs/direct-io.c
parent57b8f112cfe6622ddddb8c2641206bb5fa8a112d (diff)
wrappers for ->i_mutex access
parallel to mutex_{lock,unlock,trylock,is_locked,lock_nested}, inode_foo(inode) being mutex_foo(&inode->i_mutex). Please, use those for access to ->i_mutex; over the coming cycle ->i_mutex will become rwsem, with ->lookup() done with it held only shared. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/direct-io.c')
-rw-r--r--fs/direct-io.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/direct-io.c b/fs/direct-io.c
index 602e8441bc0f..1b2f7ffc8b84 100644
--- a/fs/direct-io.c
+++ b/fs/direct-io.c
@@ -1157,12 +1157,12 @@ do_blockdev_direct_IO(struct kiocb *iocb, struct inode *inode,
1157 iocb->ki_filp->f_mapping; 1157 iocb->ki_filp->f_mapping;
1158 1158
1159 /* will be released by direct_io_worker */ 1159 /* will be released by direct_io_worker */
1160 mutex_lock(&inode->i_mutex); 1160 inode_lock(inode);
1161 1161
1162 retval = filemap_write_and_wait_range(mapping, offset, 1162 retval = filemap_write_and_wait_range(mapping, offset,
1163 end - 1); 1163 end - 1);
1164 if (retval) { 1164 if (retval) {
1165 mutex_unlock(&inode->i_mutex); 1165 inode_unlock(inode);
1166 kmem_cache_free(dio_cache, dio); 1166 kmem_cache_free(dio_cache, dio);
1167 goto out; 1167 goto out;
1168 } 1168 }
@@ -1173,7 +1173,7 @@ do_blockdev_direct_IO(struct kiocb *iocb, struct inode *inode,
1173 dio->i_size = i_size_read(inode); 1173 dio->i_size = i_size_read(inode);
1174 if (iov_iter_rw(iter) == READ && offset >= dio->i_size) { 1174 if (iov_iter_rw(iter) == READ && offset >= dio->i_size) {
1175 if (dio->flags & DIO_LOCKING) 1175 if (dio->flags & DIO_LOCKING)
1176 mutex_unlock(&inode->i_mutex); 1176 inode_unlock(inode);
1177 kmem_cache_free(dio_cache, dio); 1177 kmem_cache_free(dio_cache, dio);
1178 retval = 0; 1178 retval = 0;
1179 goto out; 1179 goto out;
@@ -1295,7 +1295,7 @@ do_blockdev_direct_IO(struct kiocb *iocb, struct inode *inode,
1295 * of protecting us from looking up uninitialized blocks. 1295 * of protecting us from looking up uninitialized blocks.
1296 */ 1296 */
1297 if (iov_iter_rw(iter) == READ && (dio->flags & DIO_LOCKING)) 1297 if (iov_iter_rw(iter) == READ && (dio->flags & DIO_LOCKING))
1298 mutex_unlock(&dio->inode->i_mutex); 1298 inode_unlock(dio->inode);
1299 1299
1300 /* 1300 /*
1301 * The only time we want to leave bios in flight is when a successful 1301 * The only time we want to leave bios in flight is when a successful