summaryrefslogtreecommitdiff
path: root/src/btree/bt_slvg.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/btree/bt_slvg.c')
-rw-r--r--src/btree/bt_slvg.c43
1 files changed, 14 insertions, 29 deletions
diff --git a/src/btree/bt_slvg.c b/src/btree/bt_slvg.c
index fde4d4fb9de..165f932afb2 100644
--- a/src/btree/bt_slvg.c
+++ b/src/btree/bt_slvg.c
@@ -166,13 +166,11 @@ __wt_bt_salvage(WT_SESSION_IMPL *session, WT_CKPT *ckptbase, const char *cfg[])
WT_DECL_RET;
WT_STUFF *ss, stuff;
uint32_t i, leaf_cnt;
- bool evict_reset;
WT_UNUSED(cfg);
btree = S2BT(session);
bm = btree->bm;
- evict_reset = false;
WT_CLEAR(stuff);
ss = &stuff;
@@ -184,13 +182,6 @@ __wt_bt_salvage(WT_SESSION_IMPL *session, WT_CKPT *ckptbase, const char *cfg[])
WT_ERR(__wt_scr_alloc(session, 0, &ss->tmp2));
/*
- * Salvage handles its own page eviction; get exclusive access to the
- * file, have eviction ignore the tree entirely.
- */
- WT_ERR(__wt_evict_file_exclusive_on(session));
- evict_reset = true;
-
- /*
* Step 1:
* Inform the underlying block manager that we're salvaging the file.
*/
@@ -350,9 +341,6 @@ err: WT_TRET(bm->salvage_end(bm, session));
if (ss->root_ref.page != NULL)
__wt_ref_out(session, &ss->root_ref);
- if (evict_reset)
- __wt_evict_file_exclusive_off(session);
-
/* Discard the leaf and overflow page memory. */
WT_TRET(__slvg_cleanup(session, ss));
@@ -603,9 +591,9 @@ __slvg_trk_leaf(WT_SESSION_IMPL *session,
*/
WT_ERR(__wt_page_inmem(session, NULL, dsk, 0, 0, &page));
WT_ERR(__wt_row_leaf_key_copy(session,
- page, &page->pg_row_d[0], &trk->row_start));
- WT_ERR(__wt_row_leaf_key_copy(session, page,
- &page->pg_row_d[page->pg_row_entries - 1], &trk->row_stop));
+ page, &page->pg_row[0], &trk->row_start));
+ WT_ERR(__wt_row_leaf_key_copy(session,
+ page, &page->pg_row[page->entries - 1], &trk->row_stop));
__wt_verbose(session, WT_VERB_SALVAGE,
"%s start key %s",
@@ -1235,7 +1223,7 @@ __slvg_col_build_leaf(WT_SESSION_IMPL *session, WT_TRACK *trk, WT_REF *ref)
WT_PAGE *page;
WT_SALVAGE_COOKIE *cookie, _cookie;
uint64_t recno, skip, take;
- uint32_t *entriesp, save_entries;
+ uint32_t save_entries;
cookie = &_cookie;
WT_CLEAR(*cookie);
@@ -1244,11 +1232,8 @@ __slvg_col_build_leaf(WT_SESSION_IMPL *session, WT_TRACK *trk, WT_REF *ref)
WT_RET(__wt_page_in(session, ref, 0));
page = ref->page;
- entriesp = page->type == WT_PAGE_COL_VAR ?
- &page->pg_var_entries : &page->pg_fix_entries;
-
- save_col_var = page->pg_var_d;
- save_entries = *entriesp;
+ save_col_var = page->pg_var;
+ save_entries = page->entries;
/*
* Calculate the number of K/V entries we are going to skip, and
@@ -1303,8 +1288,8 @@ __slvg_col_build_leaf(WT_SESSION_IMPL *session, WT_TRACK *trk, WT_REF *ref)
WT_ERR(__wt_reconcile(session, ref, cookie, WT_VISIBILITY_ERR, NULL));
/* Reset the page. */
- page->pg_var_d = save_col_var;
- *entriesp = save_entries;
+ page->pg_var = save_col_var;
+ page->entries = save_entries;
ret = __wt_page_release(session, ref, 0);
if (ret == 0)
@@ -1973,14 +1958,14 @@ __slvg_row_build_leaf(
/* We should have selected some entries, but not the entire page. */
WT_ASSERT(session,
skip_start + skip_stop > 0 &&
- skip_start + skip_stop < page->pg_row_entries);
+ skip_start + skip_stop < page->entries);
/*
* Take a copy of this page's first key to define the start of
* its range. The key may require processing, otherwise, it's
* a copy from the page.
*/
- rip = page->pg_row_d + skip_start;
+ rip = page->pg_row + skip_start;
WT_ERR(__wt_row_leaf_key(session, page, rip, key, false));
WT_ERR(__wt_row_ikey_incr(
session, ref->home, 0, key->data, key->size, ref));
@@ -1988,14 +1973,14 @@ __slvg_row_build_leaf(
/* Set the referenced flag on overflow pages we're using. */
if (trk->trk_ovfl_cnt != 0)
WT_ERR(__slvg_row_ovfl(session,
- trk, page, skip_start, page->pg_row_entries - skip_stop));
+ trk, page, skip_start, page->entries - skip_stop));
/*
* Change the page to reflect the correct record count: there is no
* need to copy anything on the page itself, the entries value limits
* the number of page items.
*/
- page->pg_row_entries -= skip_stop;
+ page->entries -= skip_stop;
cookie->skip = skip_start;
/*
@@ -2014,7 +1999,7 @@ __slvg_row_build_leaf(
WT_ERR(__wt_reconcile(session, ref, cookie, WT_VISIBILITY_ERR, NULL));
/* Reset the page. */
- page->pg_row_entries += skip_stop;
+ page->entries += skip_stop;
/*
* Discard our hazard pointer and evict the page, updating the
@@ -2081,7 +2066,7 @@ __slvg_row_ovfl(WT_SESSION_IMPL *session,
* We're merging a row-store page, and we took some number of records,
* figure out which (if any) overflow records we used.
*/
- for (rip = page->pg_row_d + start; start < stop; ++start, ++rip) {
+ for (rip = page->pg_row + start; start < stop; ++start, ++rip) {
copy = WT_ROW_KEY_COPY(rip);
(void)__wt_row_leaf_key_info(
page, copy, NULL, &cell, NULL, NULL);