diff options
| -rw-r--r-- | fs/ext4/namei.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c index fc92c7274..945ca454e 100644 --- a/fs/ext4/namei.c +++ b/fs/ext4/namei.c @@ -2504,7 +2504,6 @@ retry: return err; } -#if 0 static int ext4_tmpfile(struct inode *dir, struct dentry *dentry, umode_t mode) { handle_t *handle; @@ -2525,11 +2524,11 @@ retry: inode->i_op = &ext4_file_inode_operations; inode->i_fop = &ext4_file_operations; ext4_set_aops(inode); - d_tmpfile(dentry, inode); err = ext4_orphan_add(handle, inode); if (err) - goto err_unlock_inode; + goto err_drop_inode; mark_inode_dirty(inode); + d_tmpfile(dentry, inode); unlock_new_inode(inode); } if (handle) @@ -2537,12 +2536,12 @@ retry: if (err == -ENOSPC && ext4_should_retry_alloc(dir->i_sb, &retries)) goto retry; return err; -err_unlock_inode: +err_drop_inode: ext4_journal_stop(handle); unlock_new_inode(inode); + iput(inode); return err; } -#endif struct ext4_dir_entry_2 *ext4_init_dot_dotdot(struct inode *inode, struct ext4_dir_entry_2 *de, |
