aboutsummaryrefslogtreecommitdiffstats
path: root/fs/udf/file.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/udf/file.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/udf/file.c')
-rw-r--r--fs/udf/file.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/fs/udf/file.c b/fs/udf/file.c
index bddf3d071dae..1af98963d860 100644
--- a/fs/udf/file.c
+++ b/fs/udf/file.c
@@ -122,7 +122,7 @@ static ssize_t udf_file_write_iter(struct kiocb *iocb, struct iov_iter *from)
122 struct udf_inode_info *iinfo = UDF_I(inode); 122 struct udf_inode_info *iinfo = UDF_I(inode);
123 int err; 123 int err;
124 124
125 mutex_lock(&inode->i_mutex); 125 inode_lock(inode);
126 126
127 retval = generic_write_checks(iocb, from); 127 retval = generic_write_checks(iocb, from);
128 if (retval <= 0) 128 if (retval <= 0)
@@ -136,7 +136,7 @@ static ssize_t udf_file_write_iter(struct kiocb *iocb, struct iov_iter *from)
136 (udf_file_entry_alloc_offset(inode) + end)) { 136 (udf_file_entry_alloc_offset(inode) + end)) {
137 err = udf_expand_file_adinicb(inode); 137 err = udf_expand_file_adinicb(inode);
138 if (err) { 138 if (err) {
139 mutex_unlock(&inode->i_mutex); 139 inode_unlock(inode);
140 udf_debug("udf_expand_adinicb: err=%d\n", err); 140 udf_debug("udf_expand_adinicb: err=%d\n", err);
141 return err; 141 return err;
142 } 142 }
@@ -149,7 +149,7 @@ static ssize_t udf_file_write_iter(struct kiocb *iocb, struct iov_iter *from)
149 149
150 retval = __generic_file_write_iter(iocb, from); 150 retval = __generic_file_write_iter(iocb, from);
151out: 151out:
152 mutex_unlock(&inode->i_mutex); 152 inode_unlock(inode);
153 153
154 if (retval > 0) { 154 if (retval > 0) {
155 mark_inode_dirty(inode); 155 mark_inode_dirty(inode);
@@ -223,12 +223,12 @@ static int udf_release_file(struct inode *inode, struct file *filp)
223 * Grab i_mutex to avoid races with writes changing i_size 223 * Grab i_mutex to avoid races with writes changing i_size
224 * while we are running. 224 * while we are running.
225 */ 225 */
226 mutex_lock(&inode->i_mutex); 226 inode_lock(inode);
227 down_write(&UDF_I(inode)->i_data_sem); 227 down_write(&UDF_I(inode)->i_data_sem);
228 udf_discard_prealloc(inode); 228 udf_discard_prealloc(inode);
229 udf_truncate_tail_extent(inode); 229 udf_truncate_tail_extent(inode);
230 up_write(&UDF_I(inode)->i_data_sem); 230 up_write(&UDF_I(inode)->i_data_sem);
231 mutex_unlock(&inode->i_mutex); 231 inode_unlock(inode);
232 } 232 }
233 return 0; 233 return 0;
234} 234}