summaryrefslogtreecommitdiff
path: root/storage
diff options
context:
space:
mode:
authorJan Lindström <jan.lindstrom@mariadb.com>2015-09-23 12:32:47 +0300
committerJan Lindström <jan.lindstrom@mariadb.com>2015-09-23 17:34:36 +0300
commit5c62dd21e8f56dde8ab853542979ba245b1dbae0 (patch)
tree6c8c88a9f6449380a73185af9d9741f86223ef22 /storage
parent212698b152609a7b17b45f9499fd650229985558 (diff)
downloadmariadb-git-5c62dd21e8f56dde8ab853542979ba245b1dbae0.tar.gz
MDEV-8832: Encryption meta data should not be stored when ENCRYPTED=DEFAULT and innodb-encrypt-tables=OFF
Diffstat (limited to 'storage')
-rw-r--r--storage/innobase/fil/fil0fil.cc12
-rw-r--r--storage/xtradb/fil/fil0fil.cc12
2 files changed, 20 insertions, 4 deletions
diff --git a/storage/innobase/fil/fil0fil.cc b/storage/innobase/fil/fil0fil.cc
index 32708580477..48367b790ce 100644
--- a/storage/innobase/fil/fil0fil.cc
+++ b/storage/innobase/fil/fil0fil.cc
@@ -3353,6 +3353,7 @@ fil_create_new_single_table_tablespace(
bool is_temp = !!(flags2 & DICT_TF2_TEMPORARY);
bool has_data_dir = FSP_FLAGS_HAS_DATA_DIR(flags);
ulint atomic_writes = FSP_FLAGS_GET_ATOMIC_WRITES(flags);
+ fil_space_crypt_t *crypt_data = NULL;
ut_a(space_id > 0);
ut_ad(!srv_read_only_mode);
@@ -3506,8 +3507,15 @@ fil_create_new_single_table_tablespace(
}
}
+ /* Create crypt data if the tablespace is either encrypted or user has
+ requested it to remain unencrypted. */
+ if (mode == FIL_SPACE_ENCRYPTION_ON || mode == FIL_SPACE_ENCRYPTION_OFF ||
+ srv_encrypt_tables) {
+ crypt_data = fil_space_create_crypt_data(mode, key_id);
+ }
+
success = fil_space_create(tablename, space_id, flags, FIL_TABLESPACE,
- fil_space_create_crypt_data(mode, key_id));
+ crypt_data);
if (!success || !fil_node_create(path, size, space_id, FALSE)) {
err = DB_ERROR;
@@ -6501,7 +6509,7 @@ fil_iterate(
if (page_compressed) {
ulint len = 0;
- byte* res = fil_compress_page(space_id,
+ fil_compress_page(space_id,
src,
NULL,
size,
diff --git a/storage/xtradb/fil/fil0fil.cc b/storage/xtradb/fil/fil0fil.cc
index 3e5cf4ec288..45bb32d9b9d 100644
--- a/storage/xtradb/fil/fil0fil.cc
+++ b/storage/xtradb/fil/fil0fil.cc
@@ -3387,6 +3387,7 @@ fil_create_new_single_table_tablespace(
bool is_temp = !!(flags2 & DICT_TF2_TEMPORARY);
bool has_data_dir = FSP_FLAGS_HAS_DATA_DIR(flags);
ulint atomic_writes = FSP_FLAGS_GET_ATOMIC_WRITES(flags);
+ fil_space_crypt_t *crypt_data = NULL;
ut_a(space_id > 0);
ut_ad(!srv_read_only_mode);
@@ -3540,8 +3541,15 @@ fil_create_new_single_table_tablespace(
}
}
+ /* Create crypt data if the tablespace is either encrypted or user has
+ requested it to remain unencrypted. */
+ if (mode == FIL_SPACE_ENCRYPTION_ON || mode == FIL_SPACE_ENCRYPTION_OFF ||
+ srv_encrypt_tables) {
+ crypt_data = fil_space_create_crypt_data(mode, key_id);
+ }
+
success = fil_space_create(tablename, space_id, flags, FIL_TABLESPACE,
- fil_space_create_crypt_data(mode, key_id));
+ crypt_data);
if (!success || !fil_node_create(path, size, space_id, FALSE)) {
err = DB_ERROR;
@@ -6558,7 +6566,7 @@ fil_iterate(
if (page_compressed) {
ulint len = 0;
- byte* res = fil_compress_page(space_id,
+ fil_compress_page(space_id,
src,
NULL,
size,