Mirror: flush the log as soon as a region is updated. (Needs testing). --- diff/drivers/md/dm-raid1.c 2004-04-21 10:55:59.794399504 +0100 +++ source/drivers/md/dm-raid1.c 2004-04-21 10:57:33.166204832 +0100 @@ -366,6 +366,9 @@ static void rh_update_states(struct regi mempool_free(reg, rh->region_pool); } + if (!list_empty(&recovered)) + rh->log->type->flush(rh->log); + list_for_each_entry_safe (reg, next, &clean, list) mempool_free(reg, rh->region_pool); } @@ -596,8 +599,6 @@ static void recovery_complete(int read_e { struct region *reg = (struct region *) context; - /* FIXME: we need to flush the log */ - /* FIXME: better error handling */ rh_recovery_end(reg, read_err || write_err); }