brassow With the code as it is, it is possible for clear region request to never get flushed at the end of the life of a mirror. When deactivating or suspending, the mirror may have issued clear region requests to the log, but it will never flush them. This means there will always be some resync work required when a mirror is activated - even though it may very well be in-sync. Always performing the flush doesn't hurt us. This is because the log keeps track of any changes that occur. If there are no changes, the log does not flush to disk. --- drivers/md/dm-raid1.c | 3 +-- 1 files changed, 1 insertion(+), 2 deletions(-) Index: linux-2.6.21-rc5/drivers/md/dm-raid1.c =================================================================== --- linux-2.6.21-rc5.orig/drivers/md/dm-raid1.c 2007-04-04 19:34:26.000000000 +0100 +++ linux-2.6.21-rc5/drivers/md/dm-raid1.c 2007-04-05 16:17:50.000000000 +0100 @@ -405,8 +405,7 @@ static void rh_update_states(struct regi mempool_free(reg, rh->region_pool); } - if (!list_empty(&recovered)) - rh->log->type->flush(rh->log); + rh->log->type->flush(rh->log); list_for_each_entry_safe (reg, next, &clean, list) mempool_free(reg, rh->region_pool);