# should be done or reviewed by the maintainer!
--- a/storage/innobase/buf/buf0buf.c
+++ b/storage/innobase/buf/buf0buf.c
-@@ -3810,7 +3810,8 @@
+@@ -3868,7 +3868,8 @@
read_space_id = mach_read_from_4(
frame + FIL_PAGE_ARCH_LOG_NO_OR_SPACE_ID);
and in recovery we will find them in the doublewrite buffer
--- a/storage/innobase/buf/buf0rea.c
+++ b/storage/innobase/buf/buf0rea.c
-@@ -88,7 +88,9 @@
+@@ -90,7 +90,9 @@
wake_later = mode & OS_AIO_SIMULATED_WAKE_LATER;
mode = mode & ~OS_AIO_SIMULATED_WAKE_LATER;
/** Following are six InnoDB system tables */
-@@ -811,7 +812,7 @@
+@@ -816,7 +817,7 @@
mtr_commit(&mtr);
/* The system tablespace always exists. */
} else if (in_crash_recovery) {
/* Check that the tablespace (the .ibd file) really
-@@ -1682,7 +1683,7 @@
+@@ -1727,7 +1728,7 @@
space = mach_read_from_4(field);
/* Check if the tablespace exists and has the right name */
flags = dict_sys_tables_get_flags(rec);
if (UNIV_UNLIKELY(flags == ULINT_UNDEFINED)) {
-@@ -1835,7 +1836,7 @@
+@@ -1880,7 +1881,7 @@
goto err_exit;
}
/* The highest file format being used in the database. The value can be
set by user, however, it will be adjusted to the newer file format if
-@@ -2477,6 +2478,8 @@
+@@ -2508,6 +2509,8 @@
goto error;
}
srv_use_sys_stats_table = (ibool) innobase_use_sys_stats_table;
/* -------------- Log files ---------------------------*/
-@@ -11657,6 +11660,11 @@
+@@ -11763,6 +11766,11 @@
"Path to individual files and their sizes.",
NULL, NULL, NULL);
static MYSQL_SYSVAR_LONG(autoinc_lock_mode, innobase_autoinc_lock_mode,
PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY,
"The AUTOINC lock modes supported by InnoDB: "
-@@ -11824,6 +11832,7 @@
+@@ -11942,6 +11950,7 @@
MYSQL_SYSVAR(commit_concurrency),
MYSQL_SYSVAR(concurrency_tickets),
MYSQL_SYSVAR(data_file_path),
UNIV_INLINE
--- a/storage/innobase/row/row0mysql.c
+++ b/storage/innobase/row/row0mysql.c
-@@ -3425,7 +3425,7 @@
+@@ -3436,7 +3436,7 @@
/* Do not drop possible .ibd tablespace if something went
wrong: we do not want to delete valuable data of the user */
/* if TRUE, then we auto-extend the last data file */
--- a/storage/innobase/srv/srv0start.c
+++ b/storage/innobase/srv/srv0start.c
-@@ -714,6 +714,7 @@
+@@ -715,6 +715,7 @@
/*======================*/
ibool* create_new_db, /*!< out: TRUE if new database should be
created */
#ifdef UNIV_LOG_ARCHIVE
ulint* min_arch_log_no,/*!< out: min of archived log
numbers in data files */
-@@ -746,6 +747,7 @@
+@@ -747,6 +748,7 @@
*sum_of_new_sizes = 0;
*create_new_db = FALSE;
srv_normalize_path_for_win(srv_data_home);
-@@ -983,6 +985,142 @@
+@@ -984,6 +986,142 @@
srv_data_file_is_raw_partition[i] != 0);
}
return(DB_SUCCESS);
}
-@@ -996,6 +1134,7 @@
+@@ -997,6 +1135,7 @@
/*====================================*/
{
ibool create_new_db;
ibool log_file_created;
ibool log_created = FALSE;
ibool log_opened = FALSE;
-@@ -1461,6 +1600,7 @@
+@@ -1462,6 +1601,7 @@
}
err = open_or_create_data_files(&create_new_db,
#ifdef UNIV_LOG_ARCHIVE
&min_arch_log_no, &max_arch_log_no,
#endif /* UNIV_LOG_ARCHIVE */
-@@ -1628,6 +1768,14 @@
+@@ -1629,6 +1769,14 @@
after the double write buffer has been created. */
trx_sys_create();
dict_create();
srv_startup_is_before_trx_rollback_phase = FALSE;
-@@ -1661,6 +1809,13 @@
+@@ -1662,6 +1810,13 @@
recv_recovery_from_archive_finish();
#endif /* UNIV_LOG_ARCHIVE */
} else {
/* Check if we support the max format that is stamped
on the system tablespace.
-@@ -1747,6 +1902,17 @@
+@@ -1748,6 +1903,17 @@
we have finished the recovery process so that the
image of TRX_SYS_PAGE_NO is not stale. */
trx_sys_file_format_tag_init();