diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2022-03-01 09:15:25 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2022-03-01 09:15:25 +0200 |
commit | 07f4a4a6d16f75731a1e97a0b551c730165293bd (patch) | |
tree | 49f0dc344ec9804c6780bd17dc621637d117f819 | |
parent | edb311ae5823cfbade9f459c4cc622b5c42d3462 (diff) | |
parent | a710016d578dc1165c511db19a5d4a094e736012 (diff) | |
download | mariadb-git-07f4a4a6d16f75731a1e97a0b551c730165293bd.tar.gz |
Merge 10.5 into 10.6
-rw-r--r-- | mysql-test/include/have_crypt.inc | 2 | ||||
-rw-r--r-- | mysql-test/main/backup_locks.result | 8 | ||||
-rw-r--r-- | mysql-test/main/backup_locks.test | 8 | ||||
-rw-r--r-- | mysql-test/main/func_crypt.test | 2 | ||||
-rw-r--r-- | storage/innobase/include/buf0buf.h | 9 |
5 files changed, 17 insertions, 12 deletions
diff --git a/mysql-test/include/have_crypt.inc b/mysql-test/include/have_crypt.inc index 422f8922edc..ae94121980c 100644 --- a/mysql-test/include/have_crypt.inc +++ b/mysql-test/include/have_crypt.inc @@ -1,3 +1,5 @@ +# MDEV-27964 The function ENCRYPT() causes SIGSEGV in WITH_MSAN builds +-- source include/not_msan.inc # encrypt('a') is NULL if crypt(3) is not available # encrypt('a') is "*0" in fips mode if (`select length(encrypt('a')) > 3 IS NOT TRUE`) { diff --git a/mysql-test/main/backup_locks.result b/mysql-test/main/backup_locks.result index 1e567c1a58d..478cd1ef537 100644 --- a/mysql-test/main/backup_locks.result +++ b/mysql-test/main/backup_locks.result @@ -2,19 +2,19 @@ # Test lock taken # BACKUP LOCK test.t1; -SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info; +SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info where table_name not like "innodb_%"; LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME MDL_SHARED_HIGH_PRIO Table metadata lock test t1 BACKUP UNLOCK; -SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info; +SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info where table_name not like "innodb_%"; LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME BACKUP LOCK t1; -SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info; +SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info where table_name not like "innodb_%"; LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME MDL_SHARED_HIGH_PRIO Table metadata lock test t1 BACKUP UNLOCK; BACKUP LOCK non_existing.t1; -SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info; +SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info where table_name not like "innodb_%"; LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME MDL_SHARED_HIGH_PRIO Table metadata lock non_existing t1 BACKUP UNLOCK; diff --git a/mysql-test/main/backup_locks.test b/mysql-test/main/backup_locks.test index 1271abfd993..02313186bec 100644 --- a/mysql-test/main/backup_locks.test +++ b/mysql-test/main/backup_locks.test @@ -11,14 +11,14 @@ --echo # BACKUP LOCK test.t1; -SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info; +SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info where table_name not like "innodb_%"; BACKUP UNLOCK; -SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info; +SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info where table_name not like "innodb_%"; BACKUP LOCK t1; -SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info; +SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info where table_name not like "innodb_%"; BACKUP UNLOCK; BACKUP LOCK non_existing.t1; -SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info; +SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info where table_name not like "innodb_%"; BACKUP UNLOCK; --echo # diff --git a/mysql-test/main/func_crypt.test b/mysql-test/main/func_crypt.test index 7da3f0c0f98..907376049d8 100644 --- a/mysql-test/main/func_crypt.test +++ b/mysql-test/main/func_crypt.test @@ -1,6 +1,4 @@ -- source include/have_crypt.inc -# MDEV-27964 The function ENCRYPT() causes SIGSEGV in WITH_MSAN builds --- source include/not_msan.inc --disable_warnings drop table if exists t1; diff --git a/storage/innobase/include/buf0buf.h b/storage/innobase/include/buf0buf.h index 3f7cc4fb516..c512cd62e2e 100644 --- a/storage/innobase/include/buf0buf.h +++ b/storage/innobase/include/buf0buf.h @@ -1882,9 +1882,14 @@ public: buf_tmp_buffer_t *io_buf_reserve() { return io_buf.reserve(); } /** @return whether any I/O is pending */ - bool any_io_pending() const + bool any_io_pending() { - return n_pend_reads || n_flush_LRU() || n_flush_list(); + if (n_pend_reads) + return true; + mysql_mutex_lock(&mutex); + const bool any_pending{n_flush_LRU_ || n_flush_list_}; + mysql_mutex_unlock(&mutex); + return any_pending; } /** @return total amount of pending I/O */ ulint io_pending() const |