[2.6.22 PATCH 24/26] dm raid1: fix to commit pending clear region requests

From: Alasdair G Kergon
Date: Tue May 08 2007 - 15:50:47 EST


From: Jonathan Brassow <jbrassow@xxxxxxxxxx>

With the code as it is, it is possible for oustanding clear region
requests never to get flushed when a mirror is deactivated or suspended.
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 requesting the flush doesn't hurt us. This is because the log
tracks whether any changes occurred and, if not, no flush is performed.

Signed-off-by: Jonathan Brassow <jbrassow@xxxxxxxxxx>
Signed-off-by: Alasdair G Kergon <agk@xxxxxxxxxx>

---
drivers/md/dm-raid1.c | 3 +--
1 files changed, 1 insertion(+), 2 deletions(-)

Index: linux-2.6.21/drivers/md/dm-raid1.c
===================================================================
--- linux-2.6.21.orig/drivers/md/dm-raid1.c 2007-05-01 19:20:13.000000000 +0100
+++ linux-2.6.21/drivers/md/dm-raid1.c 2007-05-01 19:20:17.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);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/