Issue barrier writes when updating the mirror log. Signed-off-by: Mikulas Patocka --- drivers/md/dm-log.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) Index: linux-2.6.29-rc1-devel/drivers/md/dm-log.c =================================================================== --- linux-2.6.29-rc1-devel.orig/drivers/md/dm-log.c 2009-01-27 19:11:48.000000000 +0100 +++ linux-2.6.29-rc1-devel/drivers/md/dm-log.c 2009-01-27 20:29:27.000000000 +0100 @@ -654,7 +654,7 @@ static int disk_resume(struct dm_dirty_l header_to_disk(&lc->header, lc->disk_header); /* write the new header */ - r = rw_header(lc, WRITE); + r = rw_header(lc, WRITE_BARRIER); if (r) { DMWARN("%s: Failed to write header on dirty region log device", lc->log_dev->name); @@ -704,7 +704,9 @@ static int disk_flush(struct dm_dirty_lo if (!lc->touched) return 0; - r = rw_header(lc, WRITE); + dm_table_flush_all(lc->ti->table); + + r = rw_header(lc, WRITE_BARRIER); if (r) fail_log_device(lc); else