[dm-devel] [PATCH] dm writecache: flush metadata in single commit in init_memory

Shenghui Wang shhuiw at foxmail.com
Wed Oct 24 10:54:56 UTC 2018


Do not flush sb ->magic in second commit.

Signed-off-by: Shenghui Wang <shhuiw at foxmail.com>
---
 drivers/md/dm-writecache.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/md/dm-writecache.c b/drivers/md/dm-writecache.c
index d656bd1799ae..8e9e96a22f68 100644
--- a/drivers/md/dm-writecache.c
+++ b/drivers/md/dm-writecache.c
@@ -1749,6 +1749,8 @@ static int init_memory(struct dm_writecache *wc)
 
 	for (b = 0; b < ARRAY_SIZE(sb(wc)->padding); b++)
 		pmem_assign(sb(wc)->padding[b], cpu_to_le64(0));
+
+	pmem_assign(sb(wc)->magic, cpu_to_le32(MEMORY_SUPERBLOCK_MAGIC));
 	pmem_assign(sb(wc)->version, cpu_to_le32(MEMORY_SUPERBLOCK_VERSION));
 	pmem_assign(sb(wc)->block_size, cpu_to_le32(wc->block_size));
 	pmem_assign(sb(wc)->n_blocks, cpu_to_le64(wc->n_blocks));
@@ -1759,9 +1761,6 @@ static int init_memory(struct dm_writecache *wc)
 
 	writecache_flush_all_metadata(wc);
 	writecache_commit_flushed(wc);
-	pmem_assign(sb(wc)->magic, cpu_to_le32(MEMORY_SUPERBLOCK_MAGIC));
-	writecache_flush_region(wc, &sb(wc)->magic, sizeof sb(wc)->magic);
-	writecache_commit_flushed(wc);
 
 	return 0;
 }
-- 
2.18.0






More information about the dm-devel mailing list