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);