]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - fs/ext3/ialloc.c
Merge branch 'linux-next' of git://git.infradead.org/ubifs-2.6
[mv-sheeva.git] / fs / ext3 / ialloc.c
index 490bd0ed789693dbb65ec6deb318541d06ed3911..5655fbcbd11f564b82c31eea45a6c8fe33b41f58 100644 (file)
@@ -579,7 +579,10 @@ got:
        ext3_set_inode_flags(inode);
        if (IS_DIRSYNC(inode))
                handle->h_sync = 1;
-       insert_inode_hash(inode);
+       if (insert_inode_locked(inode) < 0) {
+               err = -EINVAL;
+               goto fail_drop;
+       }
        spin_lock(&sbi->s_next_gen_lock);
        inode->i_generation = sbi->s_next_generation++;
        spin_unlock(&sbi->s_next_gen_lock);
@@ -627,6 +630,7 @@ fail_drop:
        DQUOT_DROP(inode);
        inode->i_flags |= S_NOQUOTA;
        inode->i_nlink = 0;
+       unlock_new_inode(inode);
        iput(inode);
        brelse(bitmap_bh);
        return ERR_PTR(err);