diff --git a/CHANGES b/CHANGES index 134149d3..b36aa5d8 100644 --- a/CHANGES +++ b/CHANGES @@ -19,6 +19,7 @@ LMDB 0.9.17 Release Engineering Fix ITS#8311 page_split from update_key Fix ITS#8312 loose pages in nested txn Fix ITS#8313 mdb_rebalance dummy cursor + Fix ITS#8315 dirty_room in nested txn Added mdb_txn_id() (ITS#7994) Added robust mutex support Miscellaneous cleanup/simplification diff --git a/mdb.c b/mdb.c index 0c5e6f35..741c7cb3 100644 --- a/mdb.c +++ b/mdb.c @@ -5541,6 +5541,7 @@ mdb_ovpage_free(MDB_cursor *mc, MDB_page *mp) return MDB_CORRUPTED; } } + txn->mt_dirty_room++; if (!(env->me_flags & MDB_WRITEMAP)) mdb_dpage_free(env, mp); release: @@ -6697,6 +6698,7 @@ current: return ENOMEM; id2.mid = pg; id2.mptr = np; + /* Note - this page is already counted in parent's dirty_room */ rc2 = mdb_mid2l_insert(mc->mc_txn->mt_u.dirty_list, &id2); mdb_cassert(mc, rc2 == 0); if (!(flags & MDB_RESERVE)) {