diff options
author | Alex Gorrod <alexander.gorrod@mongodb.com> | 2015-11-26 15:47:10 +1100 |
---|---|---|
committer | Alex Gorrod <alexander.gorrod@mongodb.com> | 2015-11-26 15:47:10 +1100 |
commit | 4e1844c6a28ce5b60ea6a44b81bd04a3f5457940 (patch) | |
tree | d6baf14195968d33d84ba4035126947be8a643fa /src/btree/bt_split.c | |
parent | cace179242802786b9ecbdb5f229389c517dd531 (diff) | |
parent | 714ae53068b767f64b90dae503a82dc063f9a25f (diff) | |
download | mongo-4e1844c6a28ce5b60ea6a44b81bd04a3f5457940.tar.gz |
Merge pull request #2324 from wiredtiger/wt-2230-multi-split-error-path
WT-2230: multi-split error path
Diffstat (limited to 'src/btree/bt_split.c')
-rw-r--r-- | src/btree/bt_split.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/btree/bt_split.c b/src/btree/bt_split.c index 92ed2b3e559..35c3bfea711 100644 --- a/src/btree/bt_split.c +++ b/src/btree/bt_split.c @@ -1527,7 +1527,7 @@ __split_multi_inmem_final(WT_PAGE *orig, WT_MULTI *multi) * Discard allocated pages after failure. */ static void -__split_multi_inmem_fail(WT_SESSION_IMPL *session, WT_REF *ref) +__split_multi_inmem_fail(WT_SESSION_IMPL *session, WT_PAGE *orig, WT_REF *ref) { /* * We failed creating new in-memory pages. For error-handling reasons, @@ -1537,7 +1537,7 @@ __split_multi_inmem_fail(WT_SESSION_IMPL *session, WT_REF *ref) */ if (ref->page != NULL) { F_SET_ATOMIC(ref->page, WT_PAGE_UPDATE_IGNORE); - __wt_free_ref(session, ref->page, ref, true); + __wt_free_ref(session, ref, orig->type, true); } } @@ -1962,7 +1962,7 @@ __split_multi(WT_SESSION_IMPL *session, WT_REF *ref, bool closing) if (0) { err: for (i = 0; i < new_entries; ++i) - __split_multi_inmem_fail(session, ref_new[i]); + __split_multi_inmem_fail(session, page, ref_new[i]); } __wt_free(session, ref_new); @@ -2072,6 +2072,6 @@ __wt_split_rewrite(WT_SESSION_IMPL *session, WT_REF *ref) return (0); -err: __split_multi_inmem_fail(session, &new); +err: __split_multi_inmem_fail(session, page, &new); return (ret); } |