MDEV-23855: Shrink fil_space_t

Merge n_pending_ios, n_pending_ops to std::atomic<uint32_t> n_pending.
Change some more fil_space_t members to uint32_t to reduce
the memory footprint.

fil_space_t::add(), fil_ibd_create(): Attach the already opened
handle to the tablespace, and enforce the fil_system.n_open limit.

dict_boot(): Initialize fil_system.max_assigned_id.

srv_boot(): Call srv_thread_pool_init() before anything else,
so that files should be opened in the correct mode on Windows.

fil_ibd_create(): Create the file in OS_FILE_AIO mode, just like
fil_node_open_file_low() does it.

dict_table_t::is_accessible(): Replaces fil_table_accessible().

Reviewed by: Vladislav Vaintroub
This commit is contained in:
Marko Mäkelä 2020-10-26 16:04:12 +02:00
commit 118e258aaa
31 changed files with 578 additions and 770 deletions

View file

@ -466,9 +466,9 @@ free pages available.
@return true if we were able to make the reservation */
bool
fsp_reserve_free_extents(
ulint* n_reserved,
uint32_t* n_reserved,
fil_space_t* space,
ulint n_ext,
uint32_t n_ext,
fsp_reserve_t alloc_type,
mtr_t* mtr,
uint32_t n_pages = 2);