aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext3/ialloc.c
diff options
context:
space:
mode:
authorcodeworkx <codeworkx@cyanogenmod.org>2013-03-16 15:25:02 +0000
committercodeworkx <codeworkx@cyanogenmod.org>2013-03-16 15:25:02 +0000
commitcba07183cc76b06a5ef2b20eef70d203dc5bcd5d (patch)
treee9847236fac724bbe929a5f2da2ad074ac47f120 /fs/ext3/ialloc.c
parent1fb968ea5a15b9ff31c6345c3c4aad523985e024 (diff)
parent44655588a0b361afa15761b5c58f5a558c1c181c (diff)
downloadkernel_samsung_smdk4412-cba07183cc76b06a5ef2b20eef70d203dc5bcd5d.zip
kernel_samsung_smdk4412-cba07183cc76b06a5ef2b20eef70d203dc5bcd5d.tar.gz
kernel_samsung_smdk4412-cba07183cc76b06a5ef2b20eef70d203dc5bcd5d.tar.bz2
Merge branch 'cm-10.1-experimental' into HEAD
Diffstat (limited to 'fs/ext3/ialloc.c')
-rw-r--r--fs/ext3/ialloc.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/fs/ext3/ialloc.c b/fs/ext3/ialloc.c
index bfc2dc4..0b3da7c 100644
--- a/fs/ext3/ialloc.c
+++ b/fs/ext3/ialloc.c
@@ -561,8 +561,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++;