From de843991e34dfa20650e0a5ecc0ebb84d1292647 Mon Sep 17 00:00:00 2001 From: Ming-Hung Tsai Date: Sun, 16 Aug 2020 16:00:04 +0800 Subject: [PATCH] [transaction_manager] Add transaction_manager::commit() It should be called by metadata::commit() and reserve_metadata_snap() (issue #73) --- persistent-data/transaction_manager.cc | 7 +++++++ persistent-data/transaction_manager.h | 2 ++ 2 files changed, 9 insertions(+) diff --git a/persistent-data/transaction_manager.cc b/persistent-data/transaction_manager.cc index a8b6c7b..c7cfe8f 100644 --- a/persistent-data/transaction_manager.cc +++ b/persistent-data/transaction_manager.cc @@ -37,6 +37,13 @@ transaction_manager::~transaction_manager() { } +void +transaction_manager::commit() +{ + wipe_shadow_table(); + bm_->flush(); +} + transaction_manager::write_ref transaction_manager::begin(block_address superblock, validator v) { diff --git a/persistent-data/transaction_manager.h b/persistent-data/transaction_manager.h index cbf11ce..f649ce1 100644 --- a/persistent-data/transaction_manager.h +++ b/persistent-data/transaction_manager.h @@ -42,6 +42,8 @@ namespace persistent_data { space_map::ptr sm); ~transaction_manager(); + void commit(); + // Drop the superblock reference to commit write_ref begin(block_address superblock, validator v); write_ref new_block(validator v);