diff options
-rw-r--r-- | storage/innobase/fil/fil0fil.cc | 42 | ||||
-rw-r--r-- | storage/innobase/handler/ha_innodb.cc | 3 | ||||
-rw-r--r-- | storage/innobase/include/fil0fil.h | 9 | ||||
-rw-r--r-- | storage/innobase/log/log0log.cc | 9 | ||||
-rw-r--r-- | storage/innobase/srv/srv0start.cc | 12 |
5 files changed, 2 insertions, 73 deletions
diff --git a/storage/innobase/fil/fil0fil.cc b/storage/innobase/fil/fil0fil.cc index cf69c71ac7c..c365b6dc0c8 100644 --- a/storage/innobase/fil/fil0fil.cc +++ b/storage/innobase/fil/fil0fil.cc @@ -1382,48 +1382,6 @@ void fil_set_max_space_id_if_bigger(uint32_t max_id) mysql_mutex_unlock(&fil_system.mutex); } -/** Write the flushed LSN to the page header of the first page in the -system tablespace. -@param[in] lsn flushed LSN -@return DB_SUCCESS or error number */ -dberr_t -fil_write_flushed_lsn( - lsn_t lsn) -{ - byte* buf; - ut_ad(!srv_read_only_mode); - - if (!fil_system.sys_space->acquire()) { - return DB_ERROR; - } - - buf = static_cast<byte*>(aligned_malloc(srv_page_size, srv_page_size)); - - auto fio = fil_system.sys_space->io(IORequestRead, 0, srv_page_size, - buf); - - if (fio.err == DB_SUCCESS) { - mach_write_to_8(buf + FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION, - lsn); - - uint32_t fsp_flags = mach_read_from_4( - buf + FSP_HEADER_OFFSET + FSP_SPACE_FLAGS); - - if (fil_space_t::full_crc32(fsp_flags)) { - buf_flush_assign_full_crc32_checksum(buf); - } - - fio = fil_system.sys_space->io(IORequestWrite, - 0, srv_page_size, buf); - fil_flush_file_spaces(); - } else { - fil_system.sys_space->release(); - } - - aligned_free(buf); - return fio.err; -} - /** Acquire a tablespace reference. @param id tablespace identifier @return tablespace diff --git a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc index 3373d380fc2..063c226b323 100644 --- a/storage/innobase/handler/ha_innodb.cc +++ b/storage/innobase/handler/ha_innodb.cc @@ -18255,9 +18255,6 @@ checkpoint_now_set(THD*, st_mysql_sys_var*, void*, const void *save) log_sys.log.flush(); } - if (dberr_t err= fil_write_flushed_lsn(lsn)) - sql_print_warning("innodb_checkpoint_now_set failed: %d", err); - mysql_mutex_lock(&LOCK_global_system_variables); } diff --git a/storage/innobase/include/fil0fil.h b/storage/innobase/include/fil0fil.h index b6bab2acd98..0628a52acac 100644 --- a/storage/innobase/include/fil0fil.h +++ b/storage/innobase/include/fil0fil.h @@ -1593,15 +1593,6 @@ Sets the max tablespace id counter if the given number is bigger than the previous value. */ void fil_set_max_space_id_if_bigger(uint32_t max_id); -/** Write the flushed LSN to the page header of the first page in the -system tablespace. -@param[in] lsn flushed LSN -@return DB_SUCCESS or error number */ -dberr_t -fil_write_flushed_lsn( - lsn_t lsn) -MY_ATTRIBUTE((warn_unused_result)); - MY_ATTRIBUTE((warn_unused_result)) /** Delete a tablespace and associated .ibd file. @param id tablespace identifier diff --git a/storage/innobase/log/log0log.cc b/storage/innobase/log/log0log.cc index 9b22a5cfb60..f40dbcc2b62 100644 --- a/storage/innobase/log/log0log.cc +++ b/storage/innobase/log/log0log.cc @@ -1166,15 +1166,6 @@ wait_suspend_loop: srv_shutdown_lsn = lsn; - if (!srv_read_only_mode) { - dberr_t err = fil_write_flushed_lsn(lsn); - - if (err != DB_SUCCESS) { - ib::error() << "Writing flushed lsn " << lsn - << " failed; error=" << err; - } - } - /* Make some checks that the server really is quiet */ ut_ad(!srv_any_background_activity()); diff --git a/storage/innobase/srv/srv0start.cc b/storage/innobase/srv/srv0start.cc index 31ede9658dc..68255bdb57a 100644 --- a/storage/innobase/srv/srv0start.cc +++ b/storage/innobase/srv/srv0start.cc @@ -1304,11 +1304,7 @@ dberr_t srv_start(bool create_new_db) buf_flush_sync(); - const lsn_t lsn{log_sys.get_lsn()}; - err = fil_write_flushed_lsn(lsn); - if (err == DB_SUCCESS) { - err = create_log_file_rename(lsn, logfile0); - } + err = create_log_file_rename(log_sys.get_lsn(), logfile0); if (err != DB_SUCCESS) { return(srv_init_abort(err)); @@ -1504,15 +1500,11 @@ dberr_t srv_start(bool create_new_db) /* Close the redo log file, so that we can replace it */ log_sys.log.close_file(); - err = fil_write_flushed_lsn(lsn); - DBUG_EXECUTE_IF("innodb_log_abort_5", return(srv_init_abort(DB_ERROR));); DBUG_PRINT("ib_log", ("After innodb_log_abort_5")); - if (err == DB_SUCCESS) { - err = create_log_file(false, lsn, logfile0); - } + err = create_log_file(false, lsn, logfile0); if (err == DB_SUCCESS) { err = create_log_file_rename(lsn, logfile0); |