summaryrefslogtreecommitdiff
path: root/src/meta/meta_track.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/meta/meta_track.c')
-rw-r--r--src/meta/meta_track.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/meta/meta_track.c b/src/meta/meta_track.c
index 1baab2deae1..a73b7e09d37 100644
--- a/src/meta/meta_track.c
+++ b/src/meta/meta_track.c
@@ -284,11 +284,12 @@ __wt_meta_track_off(WT_SESSION_IMPL *session, bool need_sync, bool unroll)
* should be included in the checkpoint.
*/
ckpt_session->txn.id = session->txn.id;
- F_SET(ckpt_session, WT_SESSION_LOCKED_SCHEMA);
- WT_WITH_DHANDLE(ckpt_session,
- WT_SESSION_META_DHANDLE(session),
- ret = __wt_checkpoint(ckpt_session, NULL));
- F_CLR(ckpt_session, WT_SESSION_LOCKED_SCHEMA);
+ F_SET(ckpt_session, WT_SESSION_LOCKED_METADATA);
+ WT_WITH_METADATA_LOCK(session, ret,
+ WT_WITH_DHANDLE(ckpt_session,
+ WT_SESSION_META_DHANDLE(session),
+ ret = __wt_checkpoint(ckpt_session, NULL)));
+ F_CLR(ckpt_session, WT_SESSION_LOCKED_METADATA);
ckpt_session->txn.id = WT_TXN_NONE;
WT_RET(ret);
WT_WITH_DHANDLE(session,