summaryrefslogtreecommitdiff
path: root/drivers/md/dm-snap-persistent.c
diff options
context:
space:
mode:
authorMikulas Patocka <mpatocka@redhat.com>2011-08-02 12:32:00 +0100
committerAlasdair G Kergon <agk@redhat.com>2011-08-02 12:32:00 +0100
commit762a80d9fc9f690a3a35983f3b4619a220650808 (patch)
tree807d9cfcd1c2395cd1cf62a95ebd6676ee2a6a4d /drivers/md/dm-snap-persistent.c
parent6140333d3656f62ac7e6a5af87e7fe92cfb8d655 (diff)
downloadlwn-762a80d9fc9f690a3a35983f3b4619a220650808.tar.gz
lwn-762a80d9fc9f690a3a35983f3b4619a220650808.zip
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. Cc: stable@kernel.org Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Diffstat (limited to 'drivers/md/dm-snap-persistent.c')
-rw-r--r--drivers/md/dm-snap-persistent.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/md/dm-snap-persistent.c b/drivers/md/dm-snap-persistent.c
index 135c2f1fdbfc..e4ecadf0548a 100644
--- a/drivers/md/dm-snap-persistent.c
+++ b/drivers/md/dm-snap-persistent.c
@@ -753,7 +753,7 @@ static int persistent_commit_merge(struct dm_exception_store *store,
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;