[thin-provisioning] pass the tm by reference to the metadata object
This commit is contained in:
parent
aace49cdd6
commit
b777a77023
@ -64,7 +64,7 @@ namespace thin_provisioning {
|
||||
|
||||
//--------------------------------
|
||||
|
||||
mtree_ref_counter::mtree_ref_counter(transaction_manager::ptr tm)
|
||||
mtree_ref_counter::mtree_ref_counter(transaction_manager &tm)
|
||||
: tm_(tm)
|
||||
{
|
||||
}
|
||||
|
@ -45,13 +45,13 @@ namespace thin_provisioning {
|
||||
|
||||
class mtree_ref_counter {
|
||||
public:
|
||||
mtree_ref_counter(transaction_manager::ptr tm);
|
||||
mtree_ref_counter(transaction_manager &tm);
|
||||
|
||||
void inc(block_address b);
|
||||
void dec(block_address b);
|
||||
|
||||
private:
|
||||
transaction_manager::ptr tm_;
|
||||
transaction_manager &tm_;
|
||||
};
|
||||
|
||||
// This value type is itself a tree containing mappings.
|
||||
|
@ -71,7 +71,7 @@ metadata::metadata(block_manager<>::ptr bm, open_type ot,
|
||||
details_ = device_tree::ptr(new device_tree(*tm_, sb_.device_details_root_,
|
||||
device_tree_detail::device_details_traits::ref_counter()));
|
||||
mappings_top_level_ = dev_tree::ptr(new dev_tree(*tm_, sb_.data_mapping_root_,
|
||||
mapping_tree_detail::mtree_ref_counter(tm_)));
|
||||
mapping_tree_detail::mtree_ref_counter(*tm_)));
|
||||
mappings_ = mapping_tree::ptr(new mapping_tree(*tm_, sb_.data_mapping_root_,
|
||||
mapping_tree_detail::block_time_ref_counter(data_sm_)));
|
||||
break;
|
||||
@ -89,7 +89,7 @@ metadata::metadata(block_manager<>::ptr bm, open_type ot,
|
||||
mappings_ = mapping_tree::ptr(new mapping_tree(*tm_,
|
||||
mapping_tree_detail::block_time_ref_counter(data_sm_)));
|
||||
mappings_top_level_ = dev_tree::ptr(new dev_tree(*tm_, mappings_->get_root(),
|
||||
mapping_tree_detail::mtree_ref_counter(tm_)));
|
||||
mapping_tree_detail::mtree_ref_counter(*tm_)));
|
||||
|
||||
::memset(&sb_, 0, sizeof(sb_));
|
||||
sb_.magic_ = SUPERBLOCK_MAGIC;
|
||||
@ -164,7 +164,7 @@ void metadata::open_btrees()
|
||||
details_ = device_tree::ptr(new device_tree(*tm_, sb_.device_details_root_,
|
||||
device_tree_detail::device_details_traits::ref_counter()));
|
||||
mappings_top_level_ = dev_tree::ptr(new dev_tree(*tm_, sb_.data_mapping_root_,
|
||||
mapping_tree_detail::mtree_ref_counter(tm_)));
|
||||
mapping_tree_detail::mtree_ref_counter(*tm_)));
|
||||
mappings_ = mapping_tree::ptr(new mapping_tree(*tm_, sb_.data_mapping_root_,
|
||||
mapping_tree_detail::block_time_ref_counter(data_sm_)));
|
||||
}
|
||||
|
@ -253,7 +253,7 @@ namespace {
|
||||
{
|
||||
nested_output::nest _ = out.push();
|
||||
dev_tree dtree(*tm, mapping_root(sb, fs),
|
||||
mapping_tree_detail::mtree_traits::ref_counter(tm));
|
||||
mapping_tree_detail::mtree_traits::ref_counter(*tm));
|
||||
check_mapping_tree(dtree, mapping_rep);
|
||||
}
|
||||
|
||||
|
@ -215,7 +215,7 @@ namespace {
|
||||
// output the top-level data mapping tree
|
||||
ll_mapping_tree_emitter ll_mte(tm->get_bm(), out);
|
||||
dev_tree dtree(*tm, sb.data_mapping_root_,
|
||||
mapping_tree_detail::mtree_traits::ref_counter(tm));
|
||||
mapping_tree_detail::mtree_traits::ref_counter(*tm));
|
||||
noop_damage_visitor noop_dv;
|
||||
btree_visit_values(dtree, ll_mte, noop_dv);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user