jffs2: fix up error handling for insert_inode_locked

Linux-MTD Mailing List linux-mtd at lists.infradead.org
Mon Jan 9 13:59:07 EST 2012


Gitweb:     http://git.infradead.org/?p=mtd-2.6.git;a=commit;h=53466710202900ce49e471f480cac11275e1d0c4
Commit:     53466710202900ce49e471f480cac11275e1d0c4
Parent:     fa3ae714c763f3e9d8fd876879338d2b674b8db2
Author:     Eric Sandeen <sandeen at sandeen.net>
AuthorDate: Tue Dec 6 17:06:06 2011 -0600
Committer:  David Woodhouse <David.Woodhouse at intel.com>
CommitDate: Mon Jan 9 18:18:03 2012 +0000

    jffs2: fix up error handling for insert_inode_locked
    
    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 at redhat.com>
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy at linux.intel.com>
    Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>
---
 fs/jffs2/fs.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

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);
 	}



More information about the linux-mtd-cvs mailing list