diff options
Diffstat (limited to 'fs/hfsplus')
-rw-r--r-- | fs/hfsplus/dir.c | 4 | ||||
-rw-r--r-- | fs/hfsplus/ioctl.c | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/fs/hfsplus/dir.c b/fs/hfsplus/dir.c index e318bbc0daf6..9d59c0571f59 100644 --- a/fs/hfsplus/dir.c +++ b/fs/hfsplus/dir.c | |||
@@ -317,8 +317,10 @@ static int hfsplus_unlink(struct inode *dir, struct dentry *dentry) | |||
317 | res = hfsplus_rename_cat(inode->i_ino, | 317 | res = hfsplus_rename_cat(inode->i_ino, |
318 | dir, &dentry->d_name, | 318 | dir, &dentry->d_name, |
319 | sbi->hidden_dir, &str); | 319 | sbi->hidden_dir, &str); |
320 | if (!res) | 320 | if (!res) { |
321 | inode->i_flags |= S_DEAD; | 321 | inode->i_flags |= S_DEAD; |
322 | drop_nlink(inode); | ||
323 | } | ||
322 | goto out; | 324 | goto out; |
323 | } | 325 | } |
324 | res = hfsplus_delete_cat(cnid, dir, &dentry->d_name); | 326 | res = hfsplus_delete_cat(cnid, dir, &dentry->d_name); |
diff --git a/fs/hfsplus/ioctl.c b/fs/hfsplus/ioctl.c index 5b4667e08ef7..40a85a3ded6e 100644 --- a/fs/hfsplus/ioctl.c +++ b/fs/hfsplus/ioctl.c | |||
@@ -92,7 +92,7 @@ static int hfsplus_ioctl_setflags(struct file *file, int __user *user_flags) | |||
92 | mark_inode_dirty(inode); | 92 | mark_inode_dirty(inode); |
93 | 93 | ||
94 | out_unlock_inode: | 94 | out_unlock_inode: |
95 | mutex_lock(&inode->i_mutex); | 95 | mutex_unlock(&inode->i_mutex); |
96 | out_drop_write: | 96 | out_drop_write: |
97 | mnt_drop_write(file->f_path.mnt); | 97 | mnt_drop_write(file->f_path.mnt); |
98 | out: | 98 | out: |