[btree] When walking a btree use a validator when taking the locks.

We really can't rely on anything in the block if the checksum is
wrong.
This commit is contained in:
Joe Thornber 2013-05-07 14:54:20 +01:00
parent 1e14e1cd10
commit 8e0271b3bf

View File

@ -763,7 +763,7 @@ btree<Levels, ValueTraits>::walk_tree(visitor &v,
{ {
using namespace btree_detail; using namespace btree_detail;
read_ref blk = tm_->read_lock(b); read_ref blk = tm_->read_lock(b, validator_);
internal_node o = to_node<uint64_traits>(blk); internal_node o = to_node<uint64_traits>(blk);
if (o.get_type() == INTERNAL) { if (o.get_type() == INTERNAL) {
if (v.visit_internal(loc, o)) if (v.visit_internal(loc, o))