diff mbox

[4/6] jffs2: fix up error handling for insert_inode_locked

Message ID 4EDE9FDE.3040109@sandeen.net
State New, archived
Headers show

Commit Message

Eric Sandeen Dec. 6, 2011, 11:06 p.m. UTC
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>
---

Comments

Artem Bityutskiy Dec. 8, 2011, 9:54 p.m. UTC | #1
On Tue, 2011-12-06 at 17:06 -0600, Eric Sandeen wrote:
> 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>

Pushed to l2-mtd-2.6.git tree, thanks!

Artem.
diff mbox

Patch

diff --git a/fs/jffs2/fs.c b/fs/jffs2/fs.c
index 4b8afe3..2e01238 100644
--- a/fs/jffs2/fs.c
+++ b/fs/jffs2/fs.c
@@ -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);
 	}