Commit fc456bc9 authored by Daniel Black's avatar Daniel Black

MDEV-27593 InnoDB handle AIO errors - more detailed assertion

Step 1 in handling InnoDB AIO assertions better is to get
more detail of the cases of error.

This doesn't resolve MDEV-27593, but increases the level
of information in the assertion.
parent 781948a1
......@@ -3584,9 +3584,17 @@ extern void fil_aio_callback(const IORequest &request);
static void io_callback(tpool::aiocb* cb)
{
ut_a(cb->m_err == DB_SUCCESS);
const IORequest request(*static_cast<const IORequest*>
(static_cast<const void*>(cb->m_userdata)));
if (cb->m_err != DB_SUCCESS)
{
ib::fatal() << "IO Error: " << cb->m_err << " during " <<
(request.is_async() ? "async " : "sync ") <<
(request.is_LRU() ? "lru " : "") <<
(cb->m_opcode == tpool::aio_opcode::AIO_PREAD ? "read" : "write") <<
" of " << cb->m_len << " bytes, for file " << cb->m_fh << ", returned " <<
cb->m_ret_len;
}
/* Return cb back to cache*/
if (cb->m_opcode == tpool::aio_opcode::AIO_PREAD)
{
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment