5e42663
diff --git a/fs/ext4/ialloc.c b/fs/ext4/ialloc.c
5e42663
index 00beb4f..8fb6844 100644
5e42663
--- a/fs/ext4/ialloc.c
5e42663
+++ b/fs/ext4/ialloc.c
5e42663
@@ -885,8 +885,12 @@ got:
5e42663
 	if (IS_DIRSYNC(inode))
5e42663
 		ext4_handle_sync(handle);
5e42663
 	if (insert_inode_locked(inode) < 0) {
5e42663
-		err = -EINVAL;
5e42663
-		goto fail_drop;
5e42663
+		/*
5e42663
+		 * Likely a bitmap corruption causing inode to be allocated
5e42663
+		 * twice.
5e42663
+		 */
5e42663
+		err = -EIO;
5e42663
+		goto fail;
5e42663
 	}
5e42663
 	spin_lock(&sbi->s_next_gen_lock);
5e42663
 	inode->i_generation = sbi->s_next_generation++;