mariadb/storage/innobase
Jan Lindström eca238aea7 MDEV-13557: Startup failure, unable to decrypt ibdata1
Fixes also MDEV-13488: InnoDB writes CRYPT_INFO even though
encryption is not enabled.

Fixes also MDEV-13093: Leak of Datafile::m_crypt_info on
shutdown after failed startup.

Problem was that we created encryption metadata (crypt_data) for
system tablespace even when no encryption was enabled and too early.
System tablespace can be encrypted only using key rotation.

Test innodb-key-rotation-disable, innodb_encryption, innodb_lotoftables
require adjustment because INFORMATION_SCHEMA INNODB_TABLESPACES_ENCRYPTION
contain row only if tablespace really has encryption metadata.

xb_load_single_table_tablespace(): Do not call
fil_space_destroy_crypt_data() any more, because Datafile::m_crypt_data
has been removed.

fil_crypt_realloc_iops(): Avoid divide by zero.

fil_crypt_set_thread_cnt(): Set fil_crypt_threads_event if
encryption threads exist. This is required to find tablespaces
requiring key rotation if no other changes happen.

fil_crypt_find_space_to_rotate(): Decrease the amount of time waiting
when nothing happens to better enable key rotation on startup.

fil_ibd_open(), fil_ibd_load(): Load possible crypt_data from first
page.

class Datafile, class SysTablespace : remove m_crypt_info field.

Datafile::get_first_page(): Return a pointer to first page buffer.

fsp_header_init(): Write encryption metadata to page 0 only if
tablespace is encrypted or encryption is disabled by table option.

i_s_dict_fill_tablespaces_encryption(): Skip tablespaces that do not
contain encryption metadata. This is required to avoid too early
wait condition trigger in encrypted -> unencrypted state transfer.
2017-08-31 08:36:56 +03:00
..
btr Code clean-up related to MDEV-13167 2017-08-23 09:47:50 +03:00
buf Merge 10.1 into 10.2 2017-08-29 10:07:33 +03:00
data InnoDB: Remove dead code for DATA_POINT and DATA_VAR_POINT 2017-07-03 12:17:10 +03:00
dict MDEV-13534 InnoDB STATS_PERSISTENT fails to ignore garbage delete-mark flag on node pointer pages 2017-08-24 10:19:17 +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 MDEV-13557: Startup failure, unable to decrypt ibdata1 2017-08-31 08:36:56 +03:00
fsp MDEV-13557: Startup failure, unable to decrypt ibdata1 2017-08-31 08:36:56 +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 MDEV-13557: Startup failure, unable to decrypt ibdata1 2017-08-31 08:36:56 +03:00
ibuf Merge 10.0 into 10.1 2017-08-28 15:05:46 +03:00
include MDEV-13557: Startup failure, unable to decrypt ibdata1 2017-08-31 08:36:56 +03:00
lock Fix some GCC 7 warnings for InnoDB 2017-08-10 14:00:51 +03:00
log Remove the unused redo log record type MLOG_INIT_FILE_PAGE 2017-08-23 08:13:56 +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 MDEV-13452 Assertion `!recv_no_log_write' failed in log_reserve_and_open() 2017-08-07 13:54:37 +03:00
mysql-test/storage_engine Merge branch '10.0' into 10.1 2017-08-08 10:18:43 +02:00
os MDEV-12948 : do not spam error log, if DeviceIoControl(IOCTL_STORAGE_QUERY_PROPERTY) 2017-08-17 17:36:39 +00:00
page MDEV-11939: innochecksum mistakes a file for an encrypted one (page 0 invalid) 2017-08-08 09:41:09 +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 Merge InnoDB 5.7 from mysql-5.7.9. 2016-09-02 13:22:28 +03:00
rem InnoDB: Remove dead code for DATA_POINT and DATA_VAR_POINT 2017-07-03 12:17:10 +03:00
row Merge 10.1 into 10.2 2017-08-29 10:07:33 +03:00
srv MDEV-13591: InnoDB: Database page corruption on disk or a failed file read and assertion failure 2017-08-28 09:49:30 +03:00
sync MDEV-13485 MTR tests fail massively with --innodb-sync-debug 2017-08-23 08:44:11 +03:00
trx Merge 10.1 into 10.2 2017-08-29 10:07:33 +03:00
usr Merge 10.1 into 10.2 2017-05-22 09:46:51 +03:00
ut Fix some GCC 7 warnings for InnoDB 2017-08-10 14:00:51 +03:00
bzip2.cmake cleanup: innodb files in cmake/ 2017-03-29 00:40:22 +02:00
CMakeLists.txt small refactoring o innobase/CMakeLists.txt 2017-08-30 14:43:58 +00:00
compile-innodb
COPYING.Google
COPYING.Percona
innodb.cmake Merge branch '10.1' into 10.2 2017-08-17 11:38:34 +02: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