[dm-devel] [PATCH] dm-snapshot: flush disk cache when merging

Mikulas Patocka mpatocka at redhat.com
Wed Jun 8 22:02:12 UTC 2011


dm-snapshot: flush disk cache when merging

This patch makes dm-snapshot flush disk cache when writing metadata for
merging snapshot.

Without cache flushing the disk may reorder metadata write and other
data writes and there is a possibility of data corruption in case of
power fault.

Signed-off-by: Mikulas Patocka <mpatocka at redhat.com>

---
 drivers/md/dm-snap-persistent.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux-2.6.39-fast/drivers/md/dm-snap-persistent.c
===================================================================
--- linux-2.6.39-fast.orig/drivers/md/dm-snap-persistent.c	2011-06-08 23:56:49.000000000 +0200
+++ linux-2.6.39-fast/drivers/md/dm-snap-persistent.c	2011-06-08 23:59:05.000000000 +0200
@@ -753,7 +753,7 @@ static int persistent_commit_merge(struc
 	for (i = 0; i < nr_merged; i++)
 		clear_exception(ps, ps->current_committed - 1 - i);
 
-	r = area_io(ps, WRITE);
+	r = area_io(ps, WRITE_FLUSH_FUA);
 	if (r < 0)
 		return r;
 




More information about the dm-devel mailing list