

All the mount code runs under lock_kernel(), so JBD journal recovery can hold
off preemption for a long time.  Drill a hole in it.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Index: linux-2.6.8-rc1/fs/jbd/recovery.c
===================================================================
--- linux-2.6.8-rc1.orig/fs/jbd/recovery.c	2004-05-23 12:54:34.000000000 +1000
+++ linux-2.6.8-rc1/fs/jbd/recovery.c	2004-07-15 10:03:33.315126202 +1000
@@ -354,6 +354,8 @@
 		struct buffer_head *	obh;
 		struct buffer_head *	nbh;
 
+		cond_resched();		/* We're under lock_kernel() */
+
 		/* If we already know where to stop the log traversal,
 		 * check right now that we haven't gone past the end of
 		 * the log. */
