From: NeilBrown <neilb@cse.unsw.edu.au>

bitmap_daemon_work clears bits in the bitmap for blocks that haven't been
written to for a while.  It needs to be called regularly to make sure the
bitmap doesn't endup full of ones ....  but it wasn't.

So call it from the increasingly-inaptly-named md_check_recovery

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 drivers/md/md.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletion(-)

diff -puN drivers/md/md.c~md-call-bitmap_daemon_work-regularly drivers/md/md.c
--- 25/drivers/md/md.c~md-call-bitmap_daemon_work-regularly	2005-05-23 19:42:23.000000000 -0700
+++ 25-akpm/drivers/md/md.c	2005-05-23 19:42:23.000000000 -0700
@@ -3635,7 +3635,8 @@ void md_check_recovery(mddev_t *mddev)
 	struct list_head *rtmp;
 
 
-	dprintk(KERN_INFO "md: recovery thread got woken up ...\n");
+	if (mddev->bitmap)
+		bitmap_daemon_work(mddev->bitmap);
 
 	if (mddev->ro)
 		return;
_