From: NeilBrown 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 Signed-off-by: Andrew Morton --- 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; _