]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - fs/ext3/ialloc.c
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs
[karo-tx-linux.git] / fs / ext3 / ialloc.c
index 92cc86dfa23db90609115abfa37b0f4043a523a0..1cde28438014bfaccd9b1e2b27785044d9f26aec 100644 (file)
@@ -525,8 +525,12 @@ got:
        if (IS_DIRSYNC(inode))
                handle->h_sync = 1;
        if (insert_inode_locked(inode) < 0) {
-               err = -EINVAL;
-               goto fail_drop;
+               /*
+                * Likely a bitmap corruption causing inode to be allocated
+                * twice.
+                */
+               err = -EIO;
+               goto fail;
        }
        spin_lock(&sbi->s_next_gen_lock);
        inode->i_generation = sbi->s_next_generation++;