[caching] start wiring up the discard bitset
This commit is contained in:
parent
9b5bf559ec
commit
5dbaf8371c
@ -239,6 +239,7 @@ CACHE_CHECK_SOURCE=\
|
|||||||
persistent-data/hex_dump.cc \
|
persistent-data/hex_dump.cc \
|
||||||
persistent-data/lock_tracker.cc \
|
persistent-data/lock_tracker.cc \
|
||||||
persistent-data/data-structures/btree.cc \
|
persistent-data/data-structures/btree.cc \
|
||||||
|
persistent-data/data-structures/bitset.cc \
|
||||||
persistent-data/space_map.cc \
|
persistent-data/space_map.cc \
|
||||||
persistent-data/space-maps/disk.cc \
|
persistent-data/space-maps/disk.cc \
|
||||||
persistent-data/space-maps/recursive.cc \
|
persistent-data/space-maps/recursive.cc \
|
||||||
|
@ -52,6 +52,7 @@ metadata::commit()
|
|||||||
commit_space_map();
|
commit_space_map();
|
||||||
commit_mappings();
|
commit_mappings();
|
||||||
commit_hints();
|
commit_hints();
|
||||||
|
commit_discard_bits();
|
||||||
commit_superblock();
|
commit_superblock();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -94,6 +95,8 @@ metadata::create_metadata(block_manager<>::ptr bm)
|
|||||||
|
|
||||||
// We can't instantiate the hint array yet, since we don't know the
|
// We can't instantiate the hint array yet, since we don't know the
|
||||||
// hint width.
|
// hint width.
|
||||||
|
|
||||||
|
discard_bits_ = bitset::ptr(new bitset(tm_));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -112,6 +115,10 @@ metadata::open_metadata(block_manager<>::ptr bm)
|
|||||||
hints_ = hint_array::ptr(
|
hints_ = hint_array::ptr(
|
||||||
new hint_array(tm_, sb_.policy_hint_size,
|
new hint_array(tm_, sb_.policy_hint_size,
|
||||||
sb_.hint_root, sb_.cache_blocks));
|
sb_.hint_root, sb_.cache_blocks));
|
||||||
|
|
||||||
|
if (sb_.discard_root)
|
||||||
|
discard_bits_ = bitset::ptr(
|
||||||
|
new bitset(tm_, sb_.discard_root, sb_.cache_blocks));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -133,6 +140,12 @@ metadata::commit_hints()
|
|||||||
sb_.hint_root = hints_->get_root();
|
sb_.hint_root = hints_->get_root();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
metadata::commit_discard_bits()
|
||||||
|
{
|
||||||
|
// FIXME: finish
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
metadata::commit_superblock()
|
metadata::commit_superblock()
|
||||||
{
|
{
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
#include "persistent-data/block.h"
|
#include "persistent-data/block.h"
|
||||||
#include "persistent-data/data-structures/array.h"
|
#include "persistent-data/data-structures/array.h"
|
||||||
|
#include "persistent-data/data-structures/bitset.h"
|
||||||
#include "persistent-data/endian_utils.h"
|
#include "persistent-data/endian_utils.h"
|
||||||
#include "persistent-data/space-maps/disk.h"
|
#include "persistent-data/space-maps/disk.h"
|
||||||
#include "persistent-data/transaction_manager.h"
|
#include "persistent-data/transaction_manager.h"
|
||||||
@ -37,6 +38,7 @@ namespace caching {
|
|||||||
checked_space_map::ptr metadata_sm_;
|
checked_space_map::ptr metadata_sm_;
|
||||||
mapping_array::ptr mappings_;
|
mapping_array::ptr mappings_;
|
||||||
hint_array::ptr hints_;
|
hint_array::ptr hints_;
|
||||||
|
bitset::ptr discard_bits_;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void init_superblock();
|
void init_superblock();
|
||||||
@ -47,6 +49,7 @@ namespace caching {
|
|||||||
void commit_space_map();
|
void commit_space_map();
|
||||||
void commit_mappings();
|
void commit_mappings();
|
||||||
void commit_hints();
|
void commit_hints();
|
||||||
|
void commit_discard_bits();
|
||||||
void commit_superblock();
|
void commit_superblock();
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user