summaryrefslogtreecommitdiff
path: root/storage/innobase/mtr
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@oracle.com>2011-10-26 11:44:28 +0300
committerMarko Mäkelä <marko.makela@oracle.com>2011-10-26 11:44:28 +0300
commit91b5e9352a82b096197aa9f24f149cf3bf892b8a (patch)
tree644aa74ed246e7c4530392e1c9e24800dbfdfdc9 /storage/innobase/mtr
parent5cd2cb0c4f6f63d44f9d130d4f2e1f11b5d4064e (diff)
downloadmariadb-git-91b5e9352a82b096197aa9f24f149cf3bf892b8a.tar.gz
Revert most of revno 3560.9.1 (Bug#12704861)
This was an attempt to address problems with the Bug#12612184 fix. Even with this follow-up fix, crash recovery can be broken. Let us fix the bug later.
Diffstat (limited to 'storage/innobase/mtr')
-rw-r--r--storage/innobase/mtr/mtr0mtr.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/storage/innobase/mtr/mtr0mtr.c b/storage/innobase/mtr/mtr0mtr.c
index 33b71f0766c..728c37ce564 100644
--- a/storage/innobase/mtr/mtr0mtr.c
+++ b/storage/innobase/mtr/mtr0mtr.c
@@ -53,13 +53,17 @@ mtr_memo_slot_release(
buf_page_release((buf_block_t*)object, type, mtr);
} else if (type == MTR_MEMO_S_LOCK) {
rw_lock_s_unlock((rw_lock_t*)object);
- } else if (type != MTR_MEMO_X_LOCK) {
- ut_ad(type == MTR_MEMO_MODIFY
- || type == MTR_MEMO_FREE_CLUST_LEAF);
+#ifdef UNIV_DEBUG
+ } else if (type == MTR_MEMO_X_LOCK) {
+ rw_lock_x_unlock((rw_lock_t*)object);
+ } else {
+ ut_ad(type == MTR_MEMO_MODIFY);
ut_ad(mtr_memo_contains(mtr, object,
MTR_MEMO_PAGE_X_FIX));
+#else
} else {
rw_lock_x_unlock((rw_lock_t*)object);
+#endif
}
}