#!!! notice !!!
# Any small change to this file in the main branch
# should be done or reviewed by the maintainer!
-diff -ruN a/storage/innobase/fil/fil0fil.c b/storage/innobase/fil/fil0fil.c
---- a/storage/innobase/fil/fil0fil.c 2010-12-04 15:55:21.358513751 +0900
-+++ b/storage/innobase/fil/fil0fil.c 2010-12-04 15:55:58.243481131 +0900
+--- a/storage/innobase/fil/fil0fil.c
++++ b/storage/innobase/fil/fil0fil.c
@@ -731,7 +731,7 @@
ut_a(space->purpose != FIL_LOG);
ut_a(!trx_sys_sys_space(space->id));
fprintf(stderr,
"InnoDB: Error: the size of single-table"
" tablespace file %s\n"
-@@ -4151,7 +4151,7 @@
+@@ -4169,7 +4169,7 @@
size = (((ib_int64_t)size_high) << 32) + (ib_int64_t)size_low;
#ifndef UNIV_HOTBACKUP
fprintf(stderr,
"InnoDB: Error: the size of single-table tablespace"
" file %s\n"
-@@ -4171,7 +4171,7 @@
+@@ -4189,7 +4189,7 @@
/* Align the memory for file i/o if we might have O_DIRECT set */
page = ut_align(buf2, UNIV_PAGE_SIZE);
success = os_file_read(file, page, 0, 0, UNIV_PAGE_SIZE);
/* We have to read the tablespace id from the file */
-@@ -5149,9 +5149,9 @@
+@@ -5167,9 +5167,9 @@
ut_ad(ut_is_2pow(zip_size));
ut_ad(buf);
ut_ad(len > 0);
ut_ad(fil_validate_skip());
#ifndef UNIV_HOTBACKUP
# ifndef UNIV_LOG_DEBUG
-diff -ruN a/storage/innobase/fsp/fsp0fsp.c b/storage/innobase/fsp/fsp0fsp.c
---- a/storage/innobase/fsp/fsp0fsp.c 2010-12-04 15:52:23.411513754 +0900
-+++ b/storage/innobase/fsp/fsp0fsp.c 2010-12-04 15:55:58.244514273 +0900
-@@ -656,16 +656,18 @@
+--- a/storage/innobase/fsp/fsp0fsp.c
++++ b/storage/innobase/fsp/fsp0fsp.c
+@@ -595,16 +595,18 @@
0 for uncompressed pages */
ulint offset) /*!< in: page offset */
{
ut_ad(ut_is_2pow(zip_size));
if (!zip_size) {
-@@ -1464,12 +1466,12 @@
+@@ -1403,12 +1405,12 @@
mtr);
xdes_init(descr, mtr);
if (UNIV_UNLIKELY(init_xdes)) {
-diff -ruN a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc
---- a/storage/innobase/handler/ha_innodb.cc 2010-12-04 15:55:21.367482924 +0900
-+++ b/storage/innobase/handler/ha_innodb.cc 2010-12-04 15:55:58.248549631 +0900
+--- a/storage/innobase/handler/ha_innodb.cc
++++ b/storage/innobase/handler/ha_innodb.cc
@@ -148,6 +148,9 @@
static ulong innobase_write_io_threads;
static long innobase_buffer_pool_instances = 1;
static my_bool innobase_thread_concurrency_timer_based;
static long long innobase_buffer_pool_size, innobase_log_file_size;
-@@ -2316,6 +2319,65 @@
+@@ -2352,6 +2355,65 @@
}
#endif /* DBUG_OFF */
#ifndef MYSQL_SERVER
innodb_overwrite_relay_log_info = FALSE;
#endif
-@@ -7241,9 +7303,9 @@
+@@ -7289,9 +7351,9 @@
| DICT_TF_COMPACT
| DICT_TF_FORMAT_ZIP
<< DICT_TF_FORMAT_SHIFT;
}
}
-@@ -11432,6 +11494,16 @@
+@@ -11552,6 +11614,16 @@
"#### Attention: The checksum is not compatible for normal or disabled version! ####",
NULL, NULL, FALSE);
static MYSQL_SYSVAR_STR(data_home_dir, innobase_data_home_dir,
PLUGIN_VAR_READONLY,
"The common part for InnoDB table spaces.",
-@@ -11936,6 +12008,8 @@
+@@ -12118,6 +12190,8 @@
NULL, NULL, 0, &corrupt_table_action_typelib);
static struct st_mysql_sys_var* innobase_system_variables[]= {
MYSQL_SYSVAR(additional_mem_pool_size),
MYSQL_SYSVAR(autoextend_increment),
MYSQL_SYSVAR(buffer_pool_size),
-diff -ruN a/storage/innobase/include/buf0buf.h b/storage/innobase/include/buf0buf.h
---- a/storage/innobase/include/buf0buf.h 2010-12-04 15:55:21.375482937 +0900
-+++ b/storage/innobase/include/buf0buf.h 2010-12-04 15:55:58.258469088 +0900
-@@ -1683,7 +1683,7 @@
+--- a/storage/innobase/include/buf0buf.h
++++ b/storage/innobase/include/buf0buf.h
+@@ -1725,7 +1725,7 @@
time_t last_printout_time;
/*!< when buf_print_io was last time
called */
/*!< Statistics of buddy system,
indexed by block size */
buf_pool_stat_t stat; /*!< current statistics */
-@@ -1779,7 +1779,7 @@
- /* @{ */
+@@ -1823,7 +1823,7 @@
UT_LIST_BASE_NODE_T(buf_page_t) zip_clean;
/*!< unmodified compressed pages */
+ #endif /* UNIV_DEBUG || UNIV_BUF_DEBUG */
- UT_LIST_BASE_NODE_T(buf_page_t) zip_free[BUF_BUDDY_SIZES];
+ UT_LIST_BASE_NODE_T(buf_page_t) zip_free[BUF_BUDDY_SIZES_MAX];
/*!< buddy free lists */
buf_page_t watch[BUF_POOL_WATCH_SIZE];
-@@ -1787,9 +1787,9 @@
+@@ -1831,9 +1831,9 @@
pool watches. Protected by
buf_pool->mutex. */
#if BUF_BUDDY_LOW > PAGE_ZIP_MIN_SIZE
# error "BUF_BUDDY_LOW > PAGE_ZIP_MIN_SIZE"
#endif
-diff -ruN a/storage/innobase/include/buf0types.h b/storage/innobase/include/buf0types.h
---- a/storage/innobase/include/buf0types.h 2010-11-03 07:01:13.000000000 +0900
-+++ b/storage/innobase/include/buf0types.h 2010-12-04 15:55:58.259482590 +0900
-@@ -72,12 +72,13 @@
- buddy system; must be at least
- sizeof(buf_page_t) */
+--- a/storage/innobase/include/buf0types.h
++++ b/storage/innobase/include/buf0types.h
+@@ -70,12 +70,13 @@
+ #define BUF_BUDDY_LOW (1 << BUF_BUDDY_LOW_SHIFT)
+
#define BUF_BUDDY_SIZES (UNIV_PAGE_SIZE_SHIFT - BUF_BUDDY_LOW_SHIFT)
+#define BUF_BUDDY_SIZES_MAX (UNIV_PAGE_SIZE_SHIFT_MAX - BUF_BUDDY_LOW_SHIFT)
/*!< number of buddy sizes */
/* @} */
#endif
-diff -ruN a/storage/innobase/include/fsp0types.h b/storage/innobase/include/fsp0types.h
---- a/storage/innobase/include/fsp0types.h 2010-12-04 02:58:26.000000000 +0900
-+++ b/storage/innobase/include/fsp0types.h 2011-02-03 15:14:21.000000000 +0900
+--- a/storage/innobase/include/fsp0types.h
++++ b/storage/innobase/include/fsp0types.h
@@ -42,7 +42,7 @@
/* @} */
/** On a page of any file segment, data may be put starting from this
offset */
-diff -ruN a/storage/innobase/include/log0log.h b/storage/innobase/include/log0log.h
---- a/storage/innobase/include/log0log.h 2010-11-03 07:01:13.000000000 +0900
-+++ b/storage/innobase/include/log0log.h 2010-12-09 18:16:47.737728305 +0900
+--- a/storage/innobase/include/log0log.h
++++ b/storage/innobase/include/log0log.h
@@ -672,6 +672,9 @@
when mysqld is first time started
on the restored database, it can
#define LOG_FILE_ARCH_COMPLETED OS_FILE_LOG_BLOCK_SIZE
/* this 4-byte field is TRUE when
the writing of an archived log file
-diff -ruN a/storage/innobase/include/mtr0log.ic b/storage/innobase/include/mtr0log.ic
---- a/storage/innobase/include/mtr0log.ic 2010-12-04 15:37:50.590551517 +0900
-+++ b/storage/innobase/include/mtr0log.ic 2010-12-04 15:55:58.260482404 +0900
+--- a/storage/innobase/include/mtr0log.ic
++++ b/storage/innobase/include/mtr0log.ic
@@ -203,7 +203,7 @@
system tablespace */
if ((space == TRX_SYS_SPACE
if (trx_doublewrite_buf_is_being_created) {
/* Do nothing: we only come to this branch in an
InnoDB database creation. We do not redo log
-diff -ruN a/storage/innobase/include/os0file.h b/storage/innobase/include/os0file.h
---- a/storage/innobase/include/os0file.h 2010-12-09 18:16:02.323727427 +0900
-+++ b/storage/innobase/include/os0file.h 2010-12-09 18:16:47.738694194 +0900
+--- a/storage/innobase/include/os0file.h
++++ b/storage/innobase/include/os0file.h
@@ -101,7 +101,7 @@
if this fails for a log block, then it is equivalent to a media failure in the
log. */
#ifdef UNIV_PFS_IO
/* Keys to register InnoDB I/O with performance schema */
extern mysql_pfs_key_t innodb_file_data_key;
-diff -ruN a/storage/innobase/include/page0types.h b/storage/innobase/include/page0types.h
---- a/storage/innobase/include/page0types.h 2010-11-03 07:01:13.000000000 +0900
-+++ b/storage/innobase/include/page0types.h 2010-12-04 15:55:58.261483930 +0900
+--- a/storage/innobase/include/page0types.h
++++ b/storage/innobase/include/page0types.h
@@ -56,8 +56,9 @@
/** Number of supported compressed page sizes */
/**********************************************************************//**
Write the "deleted" flag of a record on a compressed page. The flag must
-diff -ruN a/storage/innobase/include/trx0sys.h b/storage/innobase/include/trx0sys.h
---- a/storage/innobase/include/trx0sys.h 2010-12-04 15:37:50.593480594 +0900
-+++ b/storage/innobase/include/trx0sys.h 2010-12-04 15:55:58.262549554 +0900
-@@ -515,9 +515,9 @@
+--- a/storage/innobase/include/trx0sys.h
++++ b/storage/innobase/include/trx0sys.h
+@@ -526,9 +526,9 @@
/** Contents of TRX_SYS_MYSQL_LOG_MAGIC_N_FLD */
#define TRX_SYS_MYSQL_LOG_MAGIC_N 873422344
/** The offset of the MySQL replication info in the trx system header;
this contains the same fields as TRX_SYS_MYSQL_LOG_INFO below */
#define TRX_SYS_MYSQL_MASTER_LOG_INFO (UNIV_PAGE_SIZE - 2000)
-diff -ruN a/storage/innobase/include/univ.i b/storage/innobase/include/univ.i
---- a/storage/innobase/include/univ.i 2010-11-03 07:01:13.000000000 +0900
-+++ b/storage/innobase/include/univ.i 2010-12-04 15:55:58.263549721 +0900
-@@ -311,9 +311,13 @@
+--- a/storage/innobase/include/univ.i
++++ b/storage/innobase/include/univ.i
+@@ -313,9 +313,13 @@
*/
/* The 2-logarithm of UNIV_PAGE_SIZE: */
/* Maximum number of parallel threads in a parallelized operation */
#define UNIV_MAX_PARALLELISM 32
-@@ -432,7 +436,7 @@
+@@ -434,7 +438,7 @@
stored part of the field in the tablespace. The length field then
contains the sum of the following flag and the locally stored len. */
/* Some macros to improve branch prediction and reduce cache misses */
#if defined(__GNUC__) && (__GNUC__ > 2) && ! defined(__INTEL_COMPILER)
-@@ -535,4 +539,6 @@
+@@ -537,4 +541,6 @@
UNIV_MEM_ALLOC(addr, size); \
} while (0)
+extern ulint srv_page_size_shift;
+extern ulint srv_page_size;
#endif
-diff -ruN a/storage/innobase/log/log0log.c b/storage/innobase/log/log0log.c
---- a/storage/innobase/log/log0log.c 2010-12-03 15:18:48.899986203 +0900
-+++ b/storage/innobase/log/log0log.c 2010-12-04 15:55:58.266551567 +0900
+--- a/storage/innobase/log/log0log.c
++++ b/storage/innobase/log/log0log.c
@@ -604,7 +604,9 @@
offset = (gr_lsn_size_offset + difference) % group_size;
dest_offset = nth_file * group->file_size;
#ifdef UNIV_DEBUG
-@@ -1794,9 +1799,7 @@
+@@ -1797,9 +1802,7 @@
ulint i;
ut_ad(mutex_own(&(log_sys->mutex)));
buf = group->checkpoint_buf;
-@@ -1810,6 +1813,7 @@
+@@ -1813,6 +1816,7 @@
mach_write_to_4(buf + LOG_CHECKPOINT_LOG_BUF_SIZE, log_sys->buf_size);
#ifdef UNIV_LOG_ARCHIVE
if (log_sys->archiving_state == LOG_ARCH_OFF) {
archived_lsn = IB_ULONGLONG_MAX;
} else {
-@@ -1823,7 +1827,9 @@
+@@ -1826,7 +1830,9 @@
mach_write_to_8(buf + LOG_CHECKPOINT_ARCHIVED_LSN, archived_lsn);
#else /* UNIV_LOG_ARCHIVE */
#endif /* UNIV_LOG_ARCHIVE */
for (i = 0; i < LOG_MAX_N_GROUPS; i++) {
-diff -ruN a/storage/innobase/log/log0recv.c b/storage/innobase/log/log0recv.c
---- a/storage/innobase/log/log0recv.c 2010-12-03 17:32:15.638986405 +0900
-+++ b/storage/innobase/log/log0recv.c 2010-12-04 15:55:58.269550689 +0900
+--- a/storage/innobase/log/log0recv.c
++++ b/storage/innobase/log/log0recv.c
@@ -712,8 +712,22 @@
group->lsn = mach_read_from_8(
#ifdef UNIV_LOG_ARCHIVE
group = UT_LIST_GET_FIRST(log_sys->log_groups);
-diff -ruN a/storage/innobase/page/page0zip.c b/storage/innobase/page/page0zip.c
---- a/storage/innobase/page/page0zip.c 2010-12-04 15:52:23.484482786 +0900
-+++ b/storage/innobase/page/page0zip.c 2010-12-04 15:55:58.274551431 +0900
+--- a/storage/innobase/page/page0zip.c
++++ b/storage/innobase/page/page0zip.c
@@ -49,7 +49,7 @@
#ifndef UNIV_HOTBACKUP
#endif /* !UNIV_HOTBACKUP */
/* Please refer to ../include/page0zip.ic for a description of the
-diff -ruN a/storage/innobase/row/row0merge.c b/storage/innobase/row/row0merge.c
---- a/storage/innobase/row/row0merge.c 2010-12-04 15:52:23.490513562 +0900
-+++ b/storage/innobase/row/row0merge.c 2010-12-04 15:55:58.277550562 +0900
+--- a/storage/innobase/row/row0merge.c
++++ b/storage/innobase/row/row0merge.c
@@ -97,7 +97,7 @@
row_merge_block_t. Thus, it must be able to hold one merge record,
whose maximum size is the same as the minimum size of
/** @brief Merge record in row_merge_block_t.
-diff -ruN a/storage/innobase/srv/srv0srv.c b/storage/innobase/srv/srv0srv.c
---- a/storage/innobase/srv/srv0srv.c 2010-12-04 15:55:21.384486344 +0900
-+++ b/storage/innobase/srv/srv0srv.c 2010-12-04 15:55:58.282550845 +0900
-@@ -234,6 +234,13 @@
- UNIV_INTERN ulint srv_n_read_io_threads = ULINT_MAX;
- UNIV_INTERN ulint srv_n_write_io_threads = ULINT_MAX;
+--- a/storage/innobase/srv/srv0srv.c
++++ b/storage/innobase/srv/srv0srv.c
+@@ -236,6 +236,14 @@
+ /* Switch to enable random read ahead. */
+ UNIV_INTERN my_bool srv_random_read_ahead = FALSE;
++
+/* The universal page size of the database */
+UNIV_INTERN ulint srv_page_size_shift = 0;
+UNIV_INTERN ulint srv_page_size = 0;
/* User settable value of the number of pages that must be present
in the buffer cache and accessed sequentially for InnoDB to trigger a
readahead request. */
-diff -ruN a/storage/innobase/srv/srv0start.c b/storage/innobase/srv/srv0start.c
---- a/storage/innobase/srv/srv0start.c 2010-12-04 15:52:23.502513556 +0900
-+++ b/storage/innobase/srv/srv0start.c 2010-12-04 15:55:58.285550583 +0900
-@@ -1561,11 +1561,13 @@
+--- a/storage/innobase/srv/srv0start.c
++++ b/storage/innobase/srv/srv0start.c
+@@ -1582,11 +1582,13 @@
}
#endif /* UNIV_LOG_ARCHIVE */
return(DB_ERROR);
}
-@@ -1574,7 +1576,7 @@
+@@ -1595,7 +1597,7 @@
for (i = 0; i < srv_n_data_files; i++) {
#ifndef __WIN__