ocfs2: Fix sleep-with-spinlock recovery regression
authorMark Fasheh <mfasheh@suse.com>
Wed, 20 Aug 2008 00:20:28 +0000 (17:20 -0700)
committerMark Fasheh <mfasheh@suse.com>
Fri, 22 Aug 2008 18:08:38 +0000 (11:08 -0700)
commita1af7d15a18d1e375b0a6fee93789a0bbfe088b4
tree24af83391b39cf787b7579859682c4050970ed76
parenta57a874b04e27cb530a0e18c244387452e73ccce
ocfs2: Fix sleep-with-spinlock recovery regression

This fixes a bug introduced with 539d8264093560b917ee3afe4c7f74e5da09d6a5:
    [PATCH 2/2] ocfs2: Fix race between mount and recovery

ocfs2_mark_dead_nodes() was reading journal inodes while holding the
spinlock protecting our in-memory recovery state. The fix is very simple -
the disk state is protected by a cluster lock that's already held, so we
just move the spinlock down past the read.

Reviewed-by: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
fs/ocfs2/journal.c