summaryrefslogtreecommitdiff
path: root/storage/innobase/mtr/mtr0mtr.cc
diff options
context:
space:
mode:
Diffstat (limited to 'storage/innobase/mtr/mtr0mtr.cc')
-rw-r--r--storage/innobase/mtr/mtr0mtr.cc16
1 files changed, 8 insertions, 8 deletions
diff --git a/storage/innobase/mtr/mtr0mtr.cc b/storage/innobase/mtr/mtr0mtr.cc
index d2569517c49..3eacd3ab7e1 100644
--- a/storage/innobase/mtr/mtr0mtr.cc
+++ b/storage/innobase/mtr/mtr0mtr.cc
@@ -665,15 +665,15 @@ bool mtr_t::commit_file(fil_space_t &space, const char *name)
if (name)
{
+ char *new_name= mem_strdup(name);
+ mysql_mutex_lock(&fil_system.mutex);
success= os_file_rename(innodb_data_file_key, old_name, name);
-
if (success)
- {
- mysql_mutex_lock(&fil_system.mutex);
- space.chain.start->name= mem_strdup(name);
- mysql_mutex_unlock(&fil_system.mutex);
- ut_free(old_name);
- }
+ space.chain.start->name= new_name;
+ else
+ old_name= new_name;
+ mysql_mutex_unlock(&fil_system.mutex);
+ ut_free(old_name);
}
else
{
@@ -1644,7 +1644,7 @@ void mtr_t::free(const fil_space_t &space, uint32_t offset)
slot.type= MTR_MEMO_PAGE_X_MODIFY;
#ifdef BTR_CUR_HASH_ADAPT
if (block->index)
- btr_search_drop_page_hash_index(block);
+ btr_search_drop_page_hash_index(block, false);
#endif /* BTR_CUR_HASH_ADAPT */
block->page.set_freed(block->page.state());
}