summaryrefslogtreecommitdiff
path: root/src/btree/bt_misc.c
diff options
context:
space:
mode:
authorKeith Bostic <keith.bostic@wiredtiger.com>2011-12-23 21:55:15 +0000
committerKeith Bostic <keith.bostic@wiredtiger.com>2011-12-23 21:55:15 +0000
commit6172de480453632a080cf009b1dae71f58bfdda9 (patch)
treec0ed5ba9567deb737648b948542d0f3b6b3ea607 /src/btree/bt_misc.c
parent2d416e44cb69ebda024284816eaec3871efb8ef0 (diff)
downloadmongo-6172de480453632a080cf009b1dae71f58bfdda9.tar.gz
Rework verify to work in the new, block-manager world.
Rewrite the move of the root addresses into the schema file. More changes to the WT_BTREE handle code. The root address is no longer stored in any form, and is explicitly set by the eviction thread when it pushes out the root page. Fix bugs in our tracking of the root page's blocks when reconciling the root page during a split. Move the free-list maintainance from the engine into the block manager code. Fix bugs in the block-manager salvage support, we weren't handling checksums correctly. Fix bugs in salvage support, we weren't sorting the overflow addresses correctly. Switch the "allocate" verbose keyword to "block".
Diffstat (limited to 'src/btree/bt_misc.c')
-rw-r--r--src/btree/bt_misc.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/btree/bt_misc.c b/src/btree/bt_misc.c
index b66e2a9f174..f0d783a0bbd 100644
--- a/src/btree/bt_misc.c
+++ b/src/btree/bt_misc.c
@@ -75,17 +75,16 @@ __wt_cell_type_string(uint8_t type)
const char *
__wt_page_addr_string(WT_SESSION_IMPL *session, WT_BUF *buf, WT_PAGE *page)
{
- WT_BTREE *btree;
uint32_t size;
const uint8_t *addr;
- btree = session->btree;
-
if (WT_PAGE_IS_ROOT(page)) {
- addr = btree->root_addr;
- size = btree->root_size;
- } else
- __wt_get_addr(page->parent, page->parent_ref.ref, &addr, &size);
+ buf->data = "[Root]";
+ buf->size = WT_STORE_SIZE(strlen("[Root]"));
+ return (0);
+ }
+
+ __wt_get_addr(page->parent, page->parent_ref.ref, &addr, &size);
return (__wt_addr_string(session, buf, addr, size));
}