diff options
Diffstat (limited to 'fs/hfsplus/inode.c')
-rw-r--r-- | fs/hfsplus/inode.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/hfsplus/inode.c b/fs/hfsplus/inode.c index fc98583cf045..983bcd02ac1c 100644 --- a/fs/hfsplus/inode.c +++ b/fs/hfsplus/inode.c | |||
@@ -276,13 +276,13 @@ static int hfsplus_file_release(struct inode *inode, struct file *file) | |||
276 | if (atomic_read(&file->f_count) != 0) | 276 | if (atomic_read(&file->f_count) != 0) |
277 | return 0; | 277 | return 0; |
278 | if (atomic_dec_and_test(&HFSPLUS_I(inode).opencnt)) { | 278 | if (atomic_dec_and_test(&HFSPLUS_I(inode).opencnt)) { |
279 | down(&inode->i_sem); | 279 | mutex_lock(&inode->i_mutex); |
280 | hfsplus_file_truncate(inode); | 280 | hfsplus_file_truncate(inode); |
281 | if (inode->i_flags & S_DEAD) { | 281 | if (inode->i_flags & S_DEAD) { |
282 | hfsplus_delete_cat(inode->i_ino, HFSPLUS_SB(sb).hidden_dir, NULL); | 282 | hfsplus_delete_cat(inode->i_ino, HFSPLUS_SB(sb).hidden_dir, NULL); |
283 | hfsplus_delete_inode(inode); | 283 | hfsplus_delete_inode(inode); |
284 | } | 284 | } |
285 | up(&inode->i_sem); | 285 | mutex_unlock(&inode->i_mutex); |
286 | } | 286 | } |
287 | return 0; | 287 | return 0; |
288 | } | 288 | } |