aboutsummaryrefslogtreecommitdiffstats
path: root/fs/udf
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-01-23 15:24:56 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2016-01-23 15:24:56 -0500
commitcc673757e24d018d64ff8038e28835db1e2902c4 (patch)
tree6eab3dab15725cda04dafabe9a8440697dca26cc /fs/udf
parentfa7d9a1d286e6bab49ffa59cbd3c8b394ce54339 (diff)
parente62e560fc8b65ef5debc9041a792d18a8f98b2ca (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull final vfs updates from Al Viro: - The ->i_mutex wrappers (with small prereq in lustre) - a fix for too early freeing of symlink bodies on shmem (they need to be RCU-delayed) (-stable fodder) - followup to dedupe stuff merged this cycle * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: vfs: abort dedupe loop if fatal signals are pending make sure that freeing shmem fast symlinks is RCU-delayed wrappers for ->i_mutex access lustre: remove unused declaration
Diffstat (limited to 'fs/udf')
-rw-r--r--fs/udf/file.c10
-rw-r--r--fs/udf/inode.c2
2 files changed, 6 insertions, 6 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}
diff --git a/fs/udf/inode.c b/fs/udf/inode.c
index 87dc16d15572..166d3ed32c39 100644
--- a/fs/udf/inode.c
+++ b/fs/udf/inode.c
@@ -262,7 +262,7 @@ int udf_expand_file_adinicb(struct inode *inode)
262 .nr_to_write = 1, 262 .nr_to_write = 1,
263 }; 263 };
264 264
265 WARN_ON_ONCE(!mutex_is_locked(&inode->i_mutex)); 265 WARN_ON_ONCE(!inode_is_locked(inode));
266 if (!iinfo->i_lenAlloc) { 266 if (!iinfo->i_lenAlloc) {
267 if (UDF_QUERY_FLAG(inode->i_sb, UDF_FLAG_USE_SHORT_AD)) 267 if (UDF_QUERY_FLAG(inode->i_sb, UDF_FLAG_USE_SHORT_AD))
268 iinfo->i_alloc_type = ICBTAG_FLAG_AD_SHORT; 268 iinfo->i_alloc_type = ICBTAG_FLAG_AD_SHORT;