summaryrefslogtreecommitdiffstats
path: root/mm/slab.c
diff options
context:
space:
mode:
authorLepton Wu2007-10-17 08:30:04 +0200
committerLinus Torvalds2007-10-17 17:42:58 +0200
commitfb46f341d9868fe993626536c7449c2a1aec62a3 (patch)
tree869b426000d9c4689110e08ff9419901a958ec7c /mm/slab.c
parentadd consts where appropriate in fs/nls/* (diff)
downloadkernel-qcow2-linux-fb46f341d9868fe993626536c7449c2a1aec62a3.tar.gz
kernel-qcow2-linux-fb46f341d9868fe993626536c7449c2a1aec62a3.tar.xz
kernel-qcow2-linux-fb46f341d9868fe993626536c7449c2a1aec62a3.zip
reiserfs: workaround for dead loop in finish_unfinished
There is possible dead loop in finish_unfinished function. In most situation, the call chain iput -> ... -> reiserfs_delete_inode -> remove_save_link will success. But for some reason such as data corruption, reiserfs_delete_inode fails on reiserfs_do_truncate -> search_for_position_by_key. Then remove_save_link won't be called. We always get the same "save_link_key" in the while loop in finish_unfinished function. The following patch adds a check for the possible dead loop and just remove save link when deap loop. [akpm@linux-foundation.org: cleanups] Signed-off-by: Lepton Wu <ytht.net@gmail.com> Cc: Chris Mason <chris.mason@oracle.com> Cc: Jeff Mahoney <jeffm@suse.com> Cc: "Vladimir V. Saveliev" <vs@namesys.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/slab.c')
0 files changed, 0 insertions, 0 deletions