Merge branch 'work.mkdir' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[sfrench/cifs-2.6.git] / fs / jfs / namei.c
index 56c3fcbfe80ed0b69156bcab2f981b4d322b0aba..14528c0ffe635a30cb1a3efb403e4f2a429d5034 100644 (file)
@@ -175,8 +175,7 @@ static int jfs_create(struct inode *dip, struct dentry *dentry, umode_t mode,
        if (rc) {
                free_ea_wmap(ip);
                clear_nlink(ip);
-               unlock_new_inode(ip);
-               iput(ip);
+               discard_new_inode(ip);
        } else {
                d_instantiate_new(dentry, ip);
        }
@@ -309,8 +308,7 @@ static int jfs_mkdir(struct inode *dip, struct dentry *dentry, umode_t mode)
        if (rc) {
                free_ea_wmap(ip);
                clear_nlink(ip);
-               unlock_new_inode(ip);
-               iput(ip);
+               discard_new_inode(ip);
        } else {
                d_instantiate_new(dentry, ip);
        }
@@ -1054,8 +1052,7 @@ static int jfs_symlink(struct inode *dip, struct dentry *dentry,
        if (rc) {
                free_ea_wmap(ip);
                clear_nlink(ip);
-               unlock_new_inode(ip);
-               iput(ip);
+               discard_new_inode(ip);
        } else {
                d_instantiate_new(dentry, ip);
        }
@@ -1441,8 +1438,7 @@ static int jfs_mknod(struct inode *dir, struct dentry *dentry,
        if (rc) {
                free_ea_wmap(ip);
                clear_nlink(ip);
-               unlock_new_inode(ip);
-               iput(ip);
+               discard_new_inode(ip);
        } else {
                d_instantiate_new(dentry, ip);
        }