From d0c4dc354d3907754cdc2c63b4884a82caab4a6a Mon Sep 17 00:00:00 2001 From: Keith Bostic Date: Tue, 21 Jul 2015 07:47:27 -0400 Subject: The metadata file has special WT_BTREE handle flags; instead of setting in the Btree code (which requires pretty specific checks on things the Btree implementation shouldn't know about), set the flags after the Btree code returns into the code that initially opens the metadata file. --- src/btree/bt_handle.c | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) (limited to 'src/btree/bt_handle.c') diff --git a/src/btree/bt_handle.c b/src/btree/bt_handle.c index c1a8ab61054..1f9df798818 100644 --- a/src/btree/bt_handle.c +++ b/src/btree/bt_handle.c @@ -255,27 +255,17 @@ __btree_conf(WT_SESSION_IMPL *session, WT_CKPT *ckpt) /* Page sizes */ WT_RET(__btree_page_sizes(session)); - /* - * Set special flags for the metadata file. - * Eviction; the metadata file is never evicted. - * Logging; the metadata file is always logged if possible. - */ - if (WT_IS_METADATA(btree->dhandle)) { + WT_RET(__wt_config_gets(session, cfg, "cache_resident", &cval)); + if (cval.val) F_SET(btree, WT_BTREE_IN_MEMORY | WT_BTREE_NO_EVICTION); + else + F_CLR(btree, WT_BTREE_IN_MEMORY | WT_BTREE_NO_EVICTION); + + WT_RET(__wt_config_gets(session, cfg, "log.enabled", &cval)); + if (cval.val) F_CLR(btree, WT_BTREE_NO_LOGGING); - } else { - WT_RET(__wt_config_gets(session, cfg, "cache_resident", &cval)); - if (cval.val) - F_SET(btree, WT_BTREE_IN_MEMORY | WT_BTREE_NO_EVICTION); - else - F_CLR(btree, WT_BTREE_IN_MEMORY | WT_BTREE_NO_EVICTION); - - WT_RET(__wt_config_gets(session, cfg, "log.enabled", &cval)); - if (cval.val) - F_CLR(btree, WT_BTREE_NO_LOGGING); - else - F_SET(btree, WT_BTREE_NO_LOGGING); - } + else + F_SET(btree, WT_BTREE_NO_LOGGING); /* Checksums */ WT_RET(__wt_config_gets(session, cfg, "checksum", &cval)); -- cgit v1.2.1