summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--extra/mariabackup/xtrabackup.cc5
-rw-r--r--storage/innobase/handler/ha_innodb.cc24
-rw-r--r--storage/innobase/handler/ha_innodb.h3
-rw-r--r--storage/innobase/srv/srv0start.cc11
4 files changed, 17 insertions, 26 deletions
diff --git a/extra/mariabackup/xtrabackup.cc b/extra/mariabackup/xtrabackup.cc
index 20a8a562fa5..241d7aeb198 100644
--- a/extra/mariabackup/xtrabackup.cc
+++ b/extra/mariabackup/xtrabackup.cc
@@ -6073,12 +6073,9 @@ static bool xtrabackup_prepare_func(char** argv)
srv_shutdown_bg_undo_sources();
srv_purge_shutdown();
buf_flush_sync_all_buf_pools();
- innodb_shutdown();
- innobase_space_shutdown();
}
- else
- innodb_shutdown();
+ innodb_shutdown();
innodb_free_param();
/* output to metadata file */
diff --git a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc
index 04683a6843b..d7ccbd7f883 100644
--- a/storage/innobase/handler/ha_innodb.cc
+++ b/storage/innobase/handler/ha_innodb.cc
@@ -3544,11 +3544,12 @@ ha_innobase::init_table_handle_for_HANDLER(void)
reset_template();
}
-/** Free tablespace resources allocated. */
-void innobase_space_shutdown()
+/*********************************************************************//**
+Free any resources that were allocated and return failure.
+@return always return 1 */
+static int innobase_init_abort()
{
- DBUG_ENTER("innobase_space_shutdown");
-
+ DBUG_ENTER("innobase_init_abort");
srv_sys_space.shutdown();
if (srv_tmp_space.get_sanity_check_status()) {
fil_space_close(srv_tmp_space.name());
@@ -3559,20 +3560,6 @@ void innobase_space_shutdown()
#ifdef WITH_INNODB_DISALLOW_WRITES
os_event_destroy(srv_allow_writes_event);
#endif /* WITH_INNODB_DISALLOW_WRITES */
-
- DBUG_VOID_RETURN;
-}
-
-/*********************************************************************//**
-Free any resources that were allocated and return failure.
-@return always return 1 */
-static
-int
-innobase_init_abort()
-/*=================*/
-{
- DBUG_ENTER("innobase_init_abort");
- innobase_space_shutdown();
DBUG_RETURN(1);
}
@@ -4417,7 +4404,6 @@ innobase_end(handlerton*, ha_panic_function)
}
innodb_shutdown();
- innobase_space_shutdown();
mysql_mutex_destroy(&commit_cond_m);
mysql_cond_destroy(&commit_cond);
diff --git a/storage/innobase/handler/ha_innodb.h b/storage/innobase/handler/ha_innodb.h
index a02c897f7ae..b1c34f64326 100644
--- a/storage/innobase/handler/ha_innodb.h
+++ b/storage/innobase/handler/ha_innodb.h
@@ -976,6 +976,3 @@ which is in the prepared state
@return 0 or error number */
int innobase_rollback_by_xid(handlerton* hton, XID* xid);
-
-/** Free tablespace resources allocated. */
-void innobase_space_shutdown();
diff --git a/storage/innobase/srv/srv0start.cc b/storage/innobase/srv/srv0start.cc
index 0d8ebbe98cd..a7be1cdbf21 100644
--- a/storage/innobase/srv/srv0start.cc
+++ b/storage/innobase/srv/srv0start.cc
@@ -2913,6 +2913,17 @@ innodb_shutdown()
fclose(dict_foreign_err_file);
}
+ srv_sys_space.shutdown();
+ if (srv_tmp_space.get_sanity_check_status()) {
+ fil_space_close(srv_tmp_space.name());
+ srv_tmp_space.delete_files();
+ }
+ srv_tmp_space.shutdown();
+
+#ifdef WITH_INNODB_DISALLOW_WRITES
+ os_event_destroy(srv_allow_writes_event);
+#endif /* WITH_INNODB_DISALLOW_WRITES */
+
if (srv_was_started && srv_print_verbose_log) {
ib::info() << "Shutdown completed; log sequence number "
<< srv_shutdown_lsn;