diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2016-01-22 15:40:57 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2016-01-22 18:04:28 -0500 |
commit | 5955102c9984fa081b2d570cfac75c97eecf8f3b (patch) | |
tree | a4744386eac4b916e847eb4eedfada158f6527b4 /fs/direct-io.c | |
parent | 57b8f112cfe6622ddddb8c2641206bb5fa8a112d (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.c | 8 |
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 |