aboutsummaryrefslogtreecommitdiffstats
path: root/fs/jbd2/transaction.c
diff options
context:
space:
mode:
authorAmir G <amir73il@users.sourceforge.net>2010-07-27 11:56:05 -0400
committerTheodore Ts'o <tytso@mit.edu>2010-07-27 11:56:05 -0400
commit40389687382bf0ae71458e7c0f828137a438a956 (patch)
treed2a49d494754e7fa28d33c2389f78a5b5da0db4f /fs/jbd2/transaction.c
parenta271fe8527fe9637bdd82c97123b1356940dd84b (diff)
downloadkernel_samsung_smdk4412-40389687382bf0ae71458e7c0f828137a438a956.zip
kernel_samsung_smdk4412-40389687382bf0ae71458e7c0f828137a438a956.tar.gz
kernel_samsung_smdk4412-40389687382bf0ae71458e7c0f828137a438a956.tar.bz2
ext4: Fix block bitmap inconsistencies after a crash when deleting files
We have experienced bitmap inconsistencies after crash during file delete under heavy load. The crash is not file system related and I the following patch in ext4_free_branches() fixes the recovery problem. If the transaction is restarted and there is a crash before the new transaction is committed, then after recovery, the blocks that this indirect block points to have been freed, but the indirect block itself has not been freed and may still point to some of the free blocks (because of the ext4_forget()). So ext4_forget() should be called inside ext4_free_blocks() to avoid this problem. Signed-off-by: Amir Goldstein <amir73il@users.sf.net> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/jbd2/transaction.c')
0 files changed, 0 insertions, 0 deletions