mariadb/storage/innobase
Marko Mäkelä 84e4e4506f Reduce the granularity of innodb_log_file_size
In Mariabackup, we would want the backed-up redo log file size to be
a multiple of 512 bytes, or OS_FILE_LOG_BLOCK_SIZE. However, at startup,
InnoDB would be picky, requiring the file size to be a multiple of
innodb_page_size.

Furthermore, InnoDB would require the parameter to be a multiple of
one megabyte, while the minimum granularity is 512 bytes. Because
the data-file-oriented fil_io() API is being used for writing the
InnoDB redo log, writes will for now require innodb_log_file_size to
be a multiple of the maximum innodb_page_size (65536 bytes).

To complicate matters, InnoDB startup divided srv_log_file_size by
UNIV_PAGE_SIZE, so that initially, the unit was bytes, and later it
was innodb_page_size. We will simplify this and keep srv_log_file_size
in bytes at all times.

innobase_log_file_size: Remove. Remove some obsolete checks against
overflow on 32-bit systems. srv_log_file_size is always 64 bits, and
the maximum size 512GiB in multiples of innodb_page_size always fits
in ulint (which is 32 or 64 bits). 512GiB would be 8,388,608*64KiB or
134,217,728*4KiB.

log_init(): Remove the parameter file_size that was always passed as
srv_log_file_size.

log_set_capacity(): Add a parameter for passing the requested file size.

srv_log_file_size_requested: Declare static in srv0start.cc.

create_log_file(), create_log_files(),
innobase_start_or_create_for_mysql(): Invoke fil_node_create()
with srv_log_file_size expressed in multiples of innodb_page_size.

innobase_start_or_create_for_mysql(): Require the redo log file sizes
to be multiples of 512 bytes.
2017-06-29 23:15:05 +03:00
..
btr Remove trx_t::has_search_latch and simplify debug code 2017-06-16 13:17:05 +03:00
buf buf_read_ibuf_merge_pages(): Discard all entries for a missing tablespace 2017-06-29 22:39:06 +03:00
data Fix some -Wimplicit-fallthrough warnings in InnoDB 2017-05-19 22:58:59 +03:00
dict dict_create_or_check_sys_tablespace(): Add some error handling 2017-06-22 09:39:09 +03:00
eval MDEV-12271 Port MySQL 8.0 Bug#23150562 REMOVE UNIV_MUST_NOT_INLINE AND UNIV_NONINL 2017-03-17 12:42:07 +02:00
fil Merge 10.1 into 10.2 2017-06-15 14:35:51 +03:00
fsp Clean up InnoDB shutdown 2017-06-29 23:10:46 +03:00
fts MDEV-13084 MariaDB 10.2 crashes on corrupted SYS_TABLES.MIX_LEN field 2017-06-14 09:08:04 +03:00
fut MDEV-12270 Port MySQL 8.0 Bug#21141390 REMOVE UNUSED FUNCTIONS AND CONVERT GLOBAL SYMBOLS TO STATIC 2017-03-17 12:48:50 +02:00
gis Minor code cleanup. 2017-04-17 03:20:34 +03:00
ha Bug#24346574 PAGE CLEANER THREAD, ASSERT BLOCK->N_POINTERS == 0 2017-04-26 23:03:27 +03:00
handler Reduce the granularity of innodb_log_file_size 2017-06-29 23:15:05 +03:00
ibuf Merge 10.1 into 10.2 2017-05-22 09:46:51 +03:00
include Reduce the granularity of innodb_log_file_size 2017-06-29 23:15:05 +03:00
lock Merge 10.1 into 10.2 2017-05-22 09:46:51 +03:00
log Reduce the granularity of innodb_log_file_size 2017-06-29 23:15:05 +03:00
mach Fix Bug#24707869 GCC 5 AND 6 MISCOMPILE MACH_PARSE_COMPRESSED 2017-04-26 23:03:29 +03:00
mem MDEV-12271 Port MySQL 8.0 Bug#23150562 REMOVE UNIV_MUST_NOT_INLINE AND UNIV_NONINL 2017-03-17 12:42:07 +02:00
mtr Fix a merge error in commit 8f643e2063 2017-06-27 21:23:12 +03:00
mysql-test/storage_engine Adjust storage_engine suite according to server changes in 10.2 2017-06-03 02:47:52 +03:00
os Minor cleanup of InnoDB I/O routines 2017-06-29 22:30:47 +03:00
page Merge 10.0 into 10.1 2017-05-19 12:29:37 +03:00
pars Remove unused tokens from the InnoDB SQL parser. 2017-04-17 03:20:34 +03:00
que Fix some printf format type mismatch 2017-06-06 12:04:29 +03:00
read
rem Merge 10.1 into 10.2 2017-05-22 09:46:51 +03:00
row Do allow writes for innodb_force_recovery=2 or 3 2017-06-23 09:54:31 +03:00
srv Reduce the granularity of innodb_log_file_size 2017-06-29 23:15:05 +03:00
sync Clean up InnoDB shutdown 2017-06-29 23:10:46 +03:00
trx Simplify access to the binlog offset in InnoDB 2017-06-29 23:03:39 +03:00
usr Merge 10.1 into 10.2 2017-05-22 09:46:51 +03:00
ut Remove some noise from ib::fatal() and ib::fatal_or_error() 2017-05-26 22:45:54 +03:00
bzip2.cmake cleanup: innodb files in cmake/ 2017-03-29 00:40:22 +02:00
CMakeLists.txt Merge 10.1 into 10.2 2017-05-06 14:36:46 +03:00
compile-innodb
COPYING.Google
COPYING.Percona
innodb.cmake MDEV-12924: re-add numa to innodb 2017-05-29 15:32:37 +10:00
lz4.cmake cleanup: innodb files in cmake/ 2017-03-29 00:40:22 +02:00
lzma.cmake cleanup: innodb files in cmake/ 2017-03-29 00:40:22 +02:00
lzo.cmake cleanup: innodb files in cmake/ 2017-03-29 00:40:22 +02:00
plugin_exports
snappy.cmake cleanup: innodb files in cmake/ 2017-03-29 00:40:22 +02:00