diff options
Diffstat (limited to 'fs/reiserfs')
-rw-r--r-- | fs/reiserfs/namei.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/fs/reiserfs/namei.c b/fs/reiserfs/namei.c index eb611bdd4725..3ebc70167e41 100644 --- a/fs/reiserfs/namei.c +++ b/fs/reiserfs/namei.c @@ -687,7 +687,8 @@ static int reiserfs_create(struct inode *dir, struct dentry *dentry, umode_t mod reiserfs_update_inode_transaction(inode); reiserfs_update_inode_transaction(dir); - d_instantiate_new(dentry, inode); + unlock_new_inode(inode); + d_instantiate(dentry, inode); retval = journal_end(&th); out_failed: @@ -770,7 +771,8 @@ static int reiserfs_mknod(struct inode *dir, struct dentry *dentry, umode_t mode goto out_failed; } - d_instantiate_new(dentry, inode); + unlock_new_inode(inode); + d_instantiate(dentry, inode); retval = journal_end(&th); out_failed: @@ -869,7 +871,8 @@ static int reiserfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode /* the above add_entry did not update dir's stat data */ reiserfs_update_sd(&th, dir); - d_instantiate_new(dentry, inode); + unlock_new_inode(inode); + d_instantiate(dentry, inode); retval = journal_end(&th); out_failed: reiserfs_write_unlock(dir->i_sb); @@ -1183,7 +1186,8 @@ static int reiserfs_symlink(struct inode *parent_dir, goto out_failed; } - d_instantiate_new(dentry, inode); + unlock_new_inode(inode); + d_instantiate(dentry, inode); retval = journal_end(&th); out_failed: reiserfs_write_unlock(parent_dir->i_sb); |