jffs2: fix up error handling for insert_inode_locked
authorEric Sandeen <sandeen@sandeen.net>
Tue, 6 Dec 2011 23:06:06 +0000 (17:06 -0600)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Mon, 9 Jan 2012 18:18:03 +0000 (18:18 +0000)
after 250df6ed274d767da844a5d9f05720b804240197
(fs: protect inode->i_state with inode->i_lock), insert_inode_locked()
no longer returns the inode with I_NEW set on failure.  However,
the error handler still calls unlock_new_inode() on failure,
which does a WARN_ON if I_NEW is not set, so any failure spews
a lot of warnings.

We can just drop the unlock_new_inode() if insert_inode_locked()
fails here.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
fs/jffs2/fs.c

index 4b8afe3..2e01238 100644 (file)
@@ -466,7 +466,6 @@ struct inode *jffs2_new_inode (struct inode *dir_i, umode_t mode, struct jffs2_r
 
        if (insert_inode_locked(inode) < 0) {
                make_bad_inode(inode);
-               unlock_new_inode(inode);
                iput(inode);
                return ERR_PTR(-EINVAL);
        }