mirror of
https://github.com/MariaDB/server.git
synced 2025-12-01 09:59:42 +01:00
This commit refactors InnoDB to remove its dependency on tpool internals
logic and significantly reduce platform-specific #ifdefs
(HAVE_URING, _WIN32,__linux__)
Key changes:
- Encapsulated AIO support checks into tpool::is_aio_supported().
- Centralized Linux AIO implementation choice and fallback within
tpool::create_linux_aio(), removing complex #ifdef mazes from
os0file.cc.
- Linux-specific AIO source files are now:
- aio_libaio.cc: Exports create_libaio(). Previously, this logic
was in confusingly named aio_linux.cc (confusingly since uring
introduction)
- aio_liburing.cc: Exports create_liburing(), and not
create_linux_io()
- aio_linux.cc: Exports create_linux_aio(), handles Linux AIO
implementation selection and fallbacks.
- Simplified/modernized CMake build using target_sources() and
target_compile_definitions(), all available since CMake 2.8.12
With this change, there is no need to include ${CMAKE_SOURCE_DIR}/tpool
or add TPOOL_DEFINES flags anymore, target_link_libraries(lib tpool)
does all that.
- LINUX_NATIVE_AIO preprocessor constant is renamed to HAVE_LIBAIO,
analog to existing HAVE_URING.
Ever since we got a second Linux native aio with uring implementation,
this name because very confusing.
|
||
|---|---|---|
| .. | ||
| quicklz | ||
| aria_backup_client.cc | ||
| aria_backup_client.h | ||
| backup_copy.cc | ||
| backup_copy.h | ||
| backup_debug.h | ||
| backup_mysql.cc | ||
| backup_mysql.h | ||
| backup_wsrep.h | ||
| CMakeLists.txt | ||
| common.h | ||
| common_engine.cc | ||
| common_engine.h | ||
| datasink.cc | ||
| datasink.h | ||
| ddl_log.cc | ||
| ddl_log.h | ||
| ds_buffer.cc | ||
| ds_buffer.h | ||
| ds_compress.cc | ||
| ds_compress.h | ||
| ds_local.cc | ||
| ds_local.h | ||
| ds_stdout.cc | ||
| ds_stdout.h | ||
| ds_tmpfile.cc | ||
| ds_tmpfile.h | ||
| ds_xbstream.cc | ||
| ds_xbstream.h | ||
| encryption_plugin.cc | ||
| encryption_plugin.h | ||
| fil_cur.cc | ||
| fil_cur.h | ||
| innobackupex.cc | ||
| innobackupex.h | ||
| read_filt.cc | ||
| read_filt.h | ||
| thread_pool.cc | ||
| thread_pool.h | ||
| write_filt.cc | ||
| write_filt.h | ||
| wsrep.cc | ||
| xb_regex.h | ||
| xbcloud.cc | ||
| xbstream.cc | ||
| xbstream.h | ||
| xbstream_read.cc | ||
| xbstream_write.cc | ||
| xtrabackup.cc | ||
| xtrabackup.h | ||