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-04-26 01:25:01.412852096 -0700 +++ 25-akpm/drivers/md/md.c 2005-04-26 01:25:01.417851336 -0700 @@ -3633,7 +3633,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; _