summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mysql-test/suite/innodb/t/innodb-alter-table-disk-full.test3
-rw-r--r--storage/innobase/os/os0file.cc10
-rw-r--r--storage/xtradb/os/os0file.cc10
3 files changed, 12 insertions, 11 deletions
diff --git a/mysql-test/suite/innodb/t/innodb-alter-table-disk-full.test b/mysql-test/suite/innodb/t/innodb-alter-table-disk-full.test
index 4e3a7bfdae6..adeb2ef9fd2 100644
--- a/mysql-test/suite/innodb/t/innodb-alter-table-disk-full.test
+++ b/mysql-test/suite/innodb/t/innodb-alter-table-disk-full.test
@@ -1,5 +1,8 @@
# MDEV-6288: Innodb causes server crash after disk full, then can't ALTER TABLE any more
--source include/have_innodb.inc
+--source include/not_windows.inc
+--source include/not_valgrind.inc
+--source include/not_embedded.inc
# DEBUG_SYNC must be compiled in.
--source include/have_debug_sync.inc
diff --git a/storage/innobase/os/os0file.cc b/storage/innobase/os/os0file.cc
index ee00b15c72c..398a0466eeb 100644
--- a/storage/innobase/os/os0file.cc
+++ b/storage/innobase/os/os0file.cc
@@ -5929,12 +5929,12 @@ consecutive_loop:
aio_slot->page_compression);
}
- DBUG_EXECUTE_IF("ib_os_aio_func_io_failure_28_2",
- os_has_said_disk_full = FALSE;);
- DBUG_EXECUTE_IF("ib_os_aio_func_io_failure_28_2",
- ret = 0;);
- DBUG_EXECUTE_IF("ib_os_aio_func_io_failure_28_2",
+ if (aio_slot->type == OS_FILE_WRITE) {
+ DBUG_EXECUTE_IF("ib_os_aio_func_io_failure_28",
+ os_has_said_disk_full = FALSE;
+ ret = 0;
errno = 28;);
+ }
srv_set_io_thread_op_info(global_segment, "file i/o done");
diff --git a/storage/xtradb/os/os0file.cc b/storage/xtradb/os/os0file.cc
index bb67f2d453c..3b955fc14c7 100644
--- a/storage/xtradb/os/os0file.cc
+++ b/storage/xtradb/os/os0file.cc
@@ -6022,12 +6022,10 @@ consecutive_loop:
aio_slot->page_compression);
}
- DBUG_EXECUTE_IF("ib_os_aio_func_io_failure_28_2",
- os_has_said_disk_full = FALSE;);
- DBUG_EXECUTE_IF("ib_os_aio_func_io_failure_28_2",
- ret = 0;);
- DBUG_EXECUTE_IF("ib_os_aio_func_io_failure_28_2",
- errno = 28;);
+ if (aio_slot->type == OS_FILE_WRITE) {
+ DBUG_EXECUTE_IF("ib_os_aio_func_io_failure_28_2",
+ os_has_said_disk_full = FALSE; ret = 0; errno = 28;);
+ }
srv_set_io_thread_op_info(global_segment, "file i/o done");