mirror of
https://github.com/MariaDB/server.git
synced 2025-01-22 06:44:16 +01:00
branches/zip: fsp_header_get_free_limit(), fsp_header_get_tablespace_size():
Remove the redundant parameter "space".
This commit is contained in:
parent
583ce8e896
commit
30e94affc3
3 changed files with 35 additions and 47 deletions
|
@ -1048,37 +1048,29 @@ fsp_header_inc_size(
|
|||
}
|
||||
|
||||
/**************************************************************************
|
||||
Gets the current free limit of a tablespace. The free limit means the
|
||||
place of the first page which has never been put to the the free list
|
||||
for allocation. The space above that address is initialized to zero.
|
||||
Sets also the global variable log_fsp_current_free_limit. */
|
||||
Gets the current free limit of the system tablespace. The free limit
|
||||
means the place of the first page which has never been put to the the
|
||||
free list for allocation. The space above that address is initialized
|
||||
to zero. Sets also the global variable log_fsp_current_free_limit. */
|
||||
UNIV_INTERN
|
||||
ulint
|
||||
fsp_header_get_free_limit(
|
||||
/*======================*/
|
||||
fsp_header_get_free_limit(void)
|
||||
/*===========================*/
|
||||
/* out: free limit in megabytes */
|
||||
ulint space) /* in: space id, must be 0 */
|
||||
{
|
||||
fsp_header_t* header;
|
||||
ulint limit;
|
||||
ulint zip_size;
|
||||
mtr_t mtr;
|
||||
|
||||
ut_a(space == 0); /* We have only one log_fsp_current_... variable */
|
||||
|
||||
mtr_start(&mtr);
|
||||
|
||||
mtr_x_lock(fil_space_get_latch(space, &zip_size), &mtr);
|
||||
mtr_x_lock(fil_space_get_latch(0, NULL), &mtr);
|
||||
|
||||
header = fsp_get_space_header(space, zip_size, &mtr);
|
||||
header = fsp_get_space_header(0, 0, &mtr);
|
||||
|
||||
limit = mtr_read_ulint(header + FSP_FREE_LIMIT, MLOG_4BYTES, &mtr);
|
||||
|
||||
if (!zip_size) {
|
||||
limit /= ((1024 * 1024) / UNIV_PAGE_SIZE);
|
||||
} else {
|
||||
limit /= ((1024 * 1024) / zip_size);
|
||||
}
|
||||
limit /= ((1024 * 1024) / UNIV_PAGE_SIZE);
|
||||
|
||||
log_fsp_current_free_limit_set_and_checkpoint(limit);
|
||||
|
||||
|
@ -1088,28 +1080,25 @@ fsp_header_get_free_limit(
|
|||
}
|
||||
|
||||
/**************************************************************************
|
||||
Gets the size of the tablespace from the tablespace header. If we do not
|
||||
have an auto-extending data file, this should be equal to the size of the
|
||||
data files. If there is an auto-extending data file, this can be smaller. */
|
||||
Gets the size of the system tablespace from the tablespace header. If
|
||||
we do not have an auto-extending data file, this should be equal to
|
||||
the size of the data files. If there is an auto-extending data file,
|
||||
this can be smaller. */
|
||||
UNIV_INTERN
|
||||
ulint
|
||||
fsp_header_get_tablespace_size(
|
||||
/*===========================*/
|
||||
fsp_header_get_tablespace_size(void)
|
||||
/*================================*/
|
||||
/* out: size in pages */
|
||||
ulint space) /* in: space id, must be 0 */
|
||||
{
|
||||
fsp_header_t* header;
|
||||
ulint size;
|
||||
ulint zip_size;
|
||||
mtr_t mtr;
|
||||
|
||||
ut_a(space == 0); /* We have only one log_fsp_current_... variable */
|
||||
|
||||
mtr_start(&mtr);
|
||||
|
||||
mtr_x_lock(fil_space_get_latch(space, &zip_size), &mtr);
|
||||
mtr_x_lock(fil_space_get_latch(0, NULL), &mtr);
|
||||
|
||||
header = fsp_get_space_header(space, zip_size, &mtr);
|
||||
header = fsp_get_space_header(0, 0, &mtr);
|
||||
|
||||
size = mtr_read_ulint(header + FSP_SIZE, MLOG_4BYTES, &mtr);
|
||||
|
||||
|
|
|
@ -46,26 +46,25 @@ void
|
|||
fsp_init(void);
|
||||
/*==========*/
|
||||
/**************************************************************************
|
||||
Gets the current free limit of a tablespace. The free limit means the
|
||||
place of the first page which has never been put to the the free list
|
||||
for allocation. The space above that address is initialized to zero.
|
||||
Sets also the global variable log_fsp_current_free_limit. */
|
||||
Gets the current free limit of the system tablespace. The free limit
|
||||
means the place of the first page which has never been put to the the
|
||||
free list for allocation. The space above that address is initialized
|
||||
to zero. Sets also the global variable log_fsp_current_free_limit. */
|
||||
UNIV_INTERN
|
||||
ulint
|
||||
fsp_header_get_free_limit(
|
||||
/*======================*/
|
||||
/* out: free limit in megabytes */
|
||||
ulint space); /* in: space id, must be 0 */
|
||||
/**************************************************************************
|
||||
Gets the size of the tablespace from the tablespace header. If we do not
|
||||
have an auto-extending data file, this should be equal to the size of the
|
||||
data files. If there is an auto-extending data file, this can be smaller. */
|
||||
UNIV_INTERN
|
||||
ulint
|
||||
fsp_header_get_tablespace_size(
|
||||
fsp_header_get_free_limit(void);
|
||||
/*===========================*/
|
||||
/* out: free limit in megabytes */
|
||||
/**************************************************************************
|
||||
Gets the size of the system tablespace from the tablespace header. If
|
||||
we do not have an auto-extending data file, this should be equal to
|
||||
the size of the data files. If there is an auto-extending data file,
|
||||
this can be smaller. */
|
||||
UNIV_INTERN
|
||||
ulint
|
||||
fsp_header_get_tablespace_size(void);
|
||||
/*================================*/
|
||||
/* out: size in pages */
|
||||
ulint space); /* in: space id, must be 0 */
|
||||
/**************************************************************************
|
||||
Reads the file space size stored in the header page. */
|
||||
UNIV_INTERN
|
||||
|
|
|
@ -1436,7 +1436,7 @@ innobase_start_or_create_for_mysql(void)
|
|||
|
||||
/* Initialize the fsp free limit global variable in the log
|
||||
system */
|
||||
fsp_header_get_free_limit(0);
|
||||
fsp_header_get_free_limit();
|
||||
|
||||
recv_recovery_from_archive_finish();
|
||||
#endif /* UNIV_LOG_ARCHIVE */
|
||||
|
@ -1491,7 +1491,7 @@ innobase_start_or_create_for_mysql(void)
|
|||
|
||||
/* Initialize the fsp free limit global variable in the log
|
||||
system */
|
||||
fsp_header_get_free_limit(0);
|
||||
fsp_header_get_free_limit();
|
||||
|
||||
/* recv_recovery_from_checkpoint_finish needs trx lists which
|
||||
are initialized in trx_sys_init_at_db_start(). */
|
||||
|
@ -1576,7 +1576,7 @@ innobase_start_or_create_for_mysql(void)
|
|||
sum_of_data_file_sizes += srv_data_file_sizes[i];
|
||||
}
|
||||
|
||||
tablespace_size_in_header = fsp_header_get_tablespace_size(0);
|
||||
tablespace_size_in_header = fsp_header_get_tablespace_size();
|
||||
|
||||
if (!srv_auto_extend_last_data_file
|
||||
&& sum_of_data_file_sizes != tablespace_size_in_header) {
|
||||
|
|
Loading…
Add table
Reference in a new issue