diff options
author | Josh Boyer <jwboyer@redhat.com> | 2012-01-10 14:08:28 -0500 |
---|---|---|
committer | Josh Boyer <jwboyer@redhat.com> | 2012-01-10 14:11:29 -0500 |
commit | a5827f34f196636d6d3e42f48f9f463aa87ce3d7 (patch) | |
tree | 2ac2782f91beb9c1bb55eca40c4369e3fe5e30b7 | |
parent | 8aec6133a3e9ff642bb04ec52e5e86b03872c16c (diff) | |
download | kernel-a5827f34f196636d6d3e42f48f9f463aa87ce3d7.tar.gz kernel-a5827f34f196636d6d3e42f48f9f463aa87ce3d7.tar.xz kernel-a5827f34f196636d6d3e42f48f9f463aa87ce3d7.zip |
Fix ext4 corrupted bitmap error path (pointed out by Eric Sandeen)
-rw-r--r-- | TODO | 1 | ||||
-rw-r--r-- | ext4-Fix-error-handling-on-inode-bitmap-corruption.patch | 19 | ||||
-rw-r--r-- | kernel.spec | 4 |
3 files changed, 24 insertions, 0 deletions
@@ -10,6 +10,7 @@ drm-edid-try-harder-to-fix-up-broken-headers.patch Bluetooth-Add-support-for-BCM20702A0-0a5c-21e3.patch ext4-Support-check-none-nocheck-mount-options.patch +ext4-Fix-error-handling-on-inode-bitmap-corruption.patch **** Other stuff that should go upstream (in decreasing likelyhood) ************************************ diff --git a/ext4-Fix-error-handling-on-inode-bitmap-corruption.patch b/ext4-Fix-error-handling-on-inode-bitmap-corruption.patch new file mode 100644 index 000000000..e22a2b4ff --- /dev/null +++ b/ext4-Fix-error-handling-on-inode-bitmap-corruption.patch @@ -0,0 +1,19 @@ +diff --git a/fs/ext4/ialloc.c b/fs/ext4/ialloc.c +index 00beb4f..8fb6844 100644 +--- a/fs/ext4/ialloc.c ++++ b/fs/ext4/ialloc.c +@@ -885,8 +885,12 @@ got: + if (IS_DIRSYNC(inode)) + ext4_handle_sync(handle); + 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++; diff --git a/kernel.spec b/kernel.spec index 1f3d87312..4d3ccd310 100644 --- a/kernel.spec +++ b/kernel.spec @@ -752,6 +752,7 @@ Patch21045: nfs-client-freezer.patch Patch21065: Bluetooth-Add-support-for-BCM20702A0-0a5c-21e3.patch Patch21070: ext4-Support-check-none-nocheck-mount-options.patch +Patch21071: ext4-Fix-error-handling-on-inode-bitmap-corruption.patch # compat-wireless patches Patch50000: compat-wireless-config-fixups.patch @@ -1459,6 +1460,8 @@ ApplyPatch Bluetooth-Add-support-for-BCM20702A0-0a5c-21e3.patch ApplyPatch ext4-Support-check-none-nocheck-mount-options.patch +ApplyPatch ext4-Fix-error-handling-on-inode-bitmap-corruption.patch + # END OF PATCH APPLICATIONS %endif @@ -2295,6 +2298,7 @@ fi %changelog * Tue Jan 10 2012 Josh Boyer <jwboyer@redhat.com> - Add patch to fix ext4 compatibility with ext2 mount option (rhbz 770172) +- Fix ext4 corrupted bitmap error path (pointed out by Eric Sandeen) * Thu Jan 05 2012 Adam Jackson <ajax@redhat.com> - Disable unsupported DRI1-only DRM drivers: i810, r128, tdfx |