aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/direct.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/nfs/direct.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/nfs/direct.c')
-rw-r--r--fs/nfs/direct.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/fs/nfs/direct.c b/fs/nfs/direct.c
index 7ab7ec9f4eed..7a0cfd3266e5 100644
--- a/fs/nfs/direct.c
+++ b/fs/nfs/direct.c
@@ -580,7 +580,7 @@ ssize_t nfs_file_direct_read(struct kiocb *iocb, struct iov_iter *iter,
580 if (!count) 580 if (!count)
581 goto out; 581 goto out;
582 582
583 mutex_lock(&inode->i_mutex); 583 inode_lock(inode);
584 result = nfs_sync_mapping(mapping); 584 result = nfs_sync_mapping(mapping);
585 if (result) 585 if (result)
586 goto out_unlock; 586 goto out_unlock;
@@ -608,7 +608,7 @@ ssize_t nfs_file_direct_read(struct kiocb *iocb, struct iov_iter *iter,
608 NFS_I(inode)->read_io += count; 608 NFS_I(inode)->read_io += count;
609 result = nfs_direct_read_schedule_iovec(dreq, iter, pos); 609 result = nfs_direct_read_schedule_iovec(dreq, iter, pos);
610 610
611 mutex_unlock(&inode->i_mutex); 611 inode_unlock(inode);
612 612
613 if (!result) { 613 if (!result) {
614 result = nfs_direct_wait(dreq); 614 result = nfs_direct_wait(dreq);
@@ -622,7 +622,7 @@ ssize_t nfs_file_direct_read(struct kiocb *iocb, struct iov_iter *iter,
622out_release: 622out_release:
623 nfs_direct_req_release(dreq); 623 nfs_direct_req_release(dreq);
624out_unlock: 624out_unlock:
625 mutex_unlock(&inode->i_mutex); 625 inode_unlock(inode);
626out: 626out:
627 return result; 627 return result;
628} 628}
@@ -1005,7 +1005,7 @@ ssize_t nfs_file_direct_write(struct kiocb *iocb, struct iov_iter *iter)
1005 pos = iocb->ki_pos; 1005 pos = iocb->ki_pos;
1006 end = (pos + iov_iter_count(iter) - 1) >> PAGE_CACHE_SHIFT; 1006 end = (pos + iov_iter_count(iter) - 1) >> PAGE_CACHE_SHIFT;
1007 1007
1008 mutex_lock(&inode->i_mutex); 1008 inode_lock(inode);
1009 1009
1010 result = nfs_sync_mapping(mapping); 1010 result = nfs_sync_mapping(mapping);
1011 if (result) 1011 if (result)
@@ -1045,7 +1045,7 @@ ssize_t nfs_file_direct_write(struct kiocb *iocb, struct iov_iter *iter)
1045 pos >> PAGE_CACHE_SHIFT, end); 1045 pos >> PAGE_CACHE_SHIFT, end);
1046 } 1046 }
1047 1047
1048 mutex_unlock(&inode->i_mutex); 1048 inode_unlock(inode);
1049 1049
1050 if (!result) { 1050 if (!result) {
1051 result = nfs_direct_wait(dreq); 1051 result = nfs_direct_wait(dreq);
@@ -1066,7 +1066,7 @@ ssize_t nfs_file_direct_write(struct kiocb *iocb, struct iov_iter *iter)
1066out_release: 1066out_release:
1067 nfs_direct_req_release(dreq); 1067 nfs_direct_req_release(dreq);
1068out_unlock: 1068out_unlock:
1069 mutex_unlock(&inode->i_mutex); 1069 inode_unlock(inode);
1070 return result; 1070 return result;
1071} 1071}
1072 1072