diff options
| author | Al Viro <viro@zeniv.linux.org.uk> | 2013-06-29 13:23:08 +0400 |
|---|---|---|
| committer | Moyster <oysterized@gmail.com> | 2019-05-02 15:50:47 +0200 |
| commit | 31ac5eeaf0a60910c149731deb4b568b384d7e63 (patch) | |
| tree | 14503415e288aef146c133faee543815fe2ec3ab /fs | |
| parent | dbd2f75b2a4aa2cb9607d38c9e266d196e81cb99 (diff) | |
ext4: ->tmpfile() support
very similar to ext3 counterpart...
Change-Id: Ibb9de458c172ad50c4c202b971cb7243c8e43c82
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs')
| -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, |
