diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-28 12:32:05 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-28 12:32:05 -0400 |
| commit | 11cc21f5f5575b9abd14d53a6055ccbf72b67573 (patch) | |
| tree | d9a93174b25021748f11e4e797267f381bf4485b | |
| parent | 19ef20143ff86c8012270c619ac7b6c3b389a8fa (diff) | |
| parent | 85b8fe8cc47b0dc1068475ba95f29ddff10a8efc (diff) | |
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/hch/hfsplus
* 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/hch/hfsplus:
hfsplus: free space correcly for files unlinked while open
hfsplus: fix double lock typo in ioctl
| -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: |
