Lepton Wu fb46f341d9 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>
2007-10-17 08:42:58 -07:00
..
2007-10-17 08:42:47 -07:00
2007-10-17 08:42:45 -07:00
2007-10-15 17:56:36 -07:00
2007-10-17 08:42:53 -07:00
2007-10-16 09:43:07 -07:00
2007-10-17 08:42:45 -07:00
2007-10-17 08:42:53 -07:00
2007-10-17 08:42:52 -07:00
2007-10-17 08:42:54 -07:00
2007-10-17 08:42:45 -07:00
2007-10-17 08:42:45 -07:00
2007-07-19 10:04:45 -07:00
2007-10-17 08:42:57 -07:00
2007-07-29 17:09:29 -07:00
2007-10-16 09:42:53 -07:00
2007-10-17 08:42:56 -07:00
2007-10-17 08:42:48 -07:00
2007-10-10 09:25:57 +02:00
2007-07-16 09:05:48 -07:00
2007-10-17 08:42:56 -07:00
2007-10-16 09:42:54 -07:00
2007-10-17 08:42:52 -07:00
2007-07-19 10:04:45 -07:00
2007-10-17 08:59:31 +10:00
2007-10-15 17:00:19 +02:00
2007-07-27 15:40:13 -07:00
2007-09-20 13:19:59 -07:00
2007-07-16 09:05:46 -07:00
2007-10-17 08:42:52 -07:00