mirror of
https://github.com/MariaDB/server.git
synced 2026-05-10 00:54:30 +02:00
MDEV-25954: Trim os_aio_wait_until_no_pending_writes()
It turns out that we had some unnecessary waits for no outstanding write requests to exist. They were basically working around a bug that was fixed in MDEV-25953. On write completion callback, blocks will be marked clean. So, it is sufficient to consult buf_pool.flush_list to determine which writes have not been completed yet. On FLUSH TABLES...FOR EXPORT we must still wait for all pending asynchronous writes to complete, because buf_flush_file_space() would merely guarantee that writes will have been initiated.
This commit is contained in:
parent
344e59904d
commit
6dfd44c828
6 changed files with 15 additions and 14 deletions
|
|
@ -1111,10 +1111,9 @@ void os_aio_free();
|
|||
@retval DB_IO_ERROR on I/O error */
|
||||
dberr_t os_aio(const IORequest &type, void *buf, os_offset_t offset, size_t n);
|
||||
|
||||
/** Waits until there are no pending writes in os_aio_write_array. There can
|
||||
be other, synchronous, pending writes. */
|
||||
void
|
||||
os_aio_wait_until_no_pending_writes();
|
||||
/** Wait until there are no pending asynchronous writes.
|
||||
Only used on FLUSH TABLES...FOR EXPORT. */
|
||||
void os_aio_wait_until_no_pending_writes();
|
||||
|
||||
|
||||
/** Prints info of the aio arrays.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue