Apply similar bitmap corruption fix for ext3
We still build the ext3 module in F15, so it needs the same fix.
This commit is contained in:
parent
5e42663853
commit
d45e462d4b
|
@ -0,0 +1,40 @@
|
|||
From 1415dd8705394399d59a3df1ab48d149e1e41e77 Mon Sep 17 00:00:00 2001
|
||||
From: Jan Kara <jack@suse.cz>
|
||||
Date: Thu, 8 Dec 2011 21:13:46 +0100
|
||||
Subject: [PATCH] ext3: Fix error handling on inode bitmap corruption
|
||||
|
||||
When insert_inode_locked() fails in ext3_new_inode() it most likely
|
||||
means inode bitmap got corrupted and we allocated again inode which
|
||||
is already in use. Also doing unlock_new_inode() during error recovery
|
||||
is wrong since inode does not have I_NEW set. Fix the problem by jumping
|
||||
to fail: (instead of fail_drop:) which declares filesystem error and
|
||||
does not call unlock_new_inode().
|
||||
|
||||
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
|
||||
Signed-off-by: Jan Kara <jack@suse.cz>
|
||||
---
|
||||
fs/ext3/ialloc.c | 8 ++++++--
|
||||
1 files changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/fs/ext3/ialloc.c b/fs/ext3/ialloc.c
|
||||
index 5c866e0..adae962 100644
|
||||
--- a/fs/ext3/ialloc.c
|
||||
+++ b/fs/ext3/ialloc.c
|
||||
@@ -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++;
|
||||
--
|
||||
1.7.6.5
|
||||
|
|
@ -732,6 +732,7 @@ Patch21056: KVM-fix-device-assignment-permissions.patch
|
|||
Patch21065: Bluetooth-Add-support-for-BCM20702A0.patch
|
||||
|
||||
Patch21071: ext4-Fix-error-handling-on-inode-bitmap-corruption.patch
|
||||
Patch21072: ext3-Fix-error-handling-on-inode-bitmap-corruption.patch
|
||||
|
||||
%endif
|
||||
|
||||
|
@ -1359,6 +1360,7 @@ ApplyPatch Bluetooth-Add-support-for-BCM20702A0.patch
|
|||
ApplyPatch KVM-fix-device-assignment-permissions.patch
|
||||
|
||||
ApplyPatch ext4-Fix-error-handling-on-inode-bitmap-corruption.patch
|
||||
ApplyPatch ext3-Fix-error-handling-on-inode-bitmap-corruption.patch
|
||||
|
||||
# END OF PATCH APPLICATIONS
|
||||
|
||||
|
@ -2008,7 +2010,7 @@ fi
|
|||
|
||||
%changelog
|
||||
* Tue Jan 10 2012 Josh Boyer <jwboyer@redhat.com>
|
||||
- Fix ext4 corrupted bitmap error path (pointed out by Eric Sandeen)
|
||||
- Fix ext3/ext4 corrupted bitmap error path (pointed out by Eric Sandeen)
|
||||
|
||||
* Fri Jan 06 2012 Josh Boyer <jwboyer@redhat.com> 2.6.41.8-1
|
||||
- Linux 3.1.8
|
||||
|
|
Loading…
Reference in New Issue