Skip to content

Commit

Permalink
MDEV-7164: innodb.innodb-alter-table-disk-full fails in buildbot on W…
Browse files Browse the repository at this point in the history
…indows

Analysis: Test case uses Linux specific error codes.

Fix: Can't run test case with Windows currently because requires
to inject error to system.
  • Loading branch information
Jan Lindström committed Nov 24, 2014
1 parent c0a00a2 commit 1ac12df
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 11 deletions.
3 changes: 3 additions & 0 deletions mysql-test/suite/innodb/t/innodb-alter-table-disk-full.test
Original file line number Diff line number Diff line change
@@ -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
Expand Down
10 changes: 5 additions & 5 deletions storage/innobase/os/os0file.cc
Original file line number Diff line number Diff line change
Expand Up @@ -5929,12 +5929,12 @@ os_aio_simulated_handle(
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");

Expand Down
10 changes: 4 additions & 6 deletions storage/xtradb/os/os0file.cc
Original file line number Diff line number Diff line change
Expand Up @@ -6022,12 +6022,10 @@ os_aio_simulated_handle(
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");

Expand Down

0 comments on commit 1ac12df

Please sign in to comment.