diff options
Diffstat (limited to 'fs/udf/file.c')
-rw-r--r-- | fs/udf/file.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/udf/file.c b/fs/udf/file.c index 66b9e7e7e4c5..df0c5561cc7e 100644 --- a/fs/udf/file.c +++ b/fs/udf/file.c | |||
@@ -204,10 +204,10 @@ static int udf_release_file(struct inode *inode, struct file *filp) | |||
204 | { | 204 | { |
205 | if (filp->f_mode & FMODE_WRITE) { | 205 | if (filp->f_mode & FMODE_WRITE) { |
206 | mutex_lock(&inode->i_mutex); | 206 | mutex_lock(&inode->i_mutex); |
207 | lock_kernel(); | 207 | down_write(&UDF_I(inode)->i_data_sem); |
208 | udf_discard_prealloc(inode); | 208 | udf_discard_prealloc(inode); |
209 | udf_truncate_tail_extent(inode); | 209 | udf_truncate_tail_extent(inode); |
210 | unlock_kernel(); | 210 | up_write(&UDF_I(inode)->i_data_sem); |
211 | mutex_unlock(&inode->i_mutex); | 211 | mutex_unlock(&inode->i_mutex); |
212 | } | 212 | } |
213 | return 0; | 213 | return 0; |