4303 Marko Mäkelä 2012-09-20
Fix errors in the previous commit, refactoring of open_or_create_log_file().
modified:
storage/innobase/srv/srv0start.cc
4302 Marko Mäkelä 2012-09-20
WL#6494 preparation: Refactor the redo log open/create.
srv_log_file_size_requested: A copy of srv_log_file_size.
srv_log_file_size: The actual size of the redo log files, in pages.
open_or_create_log_file(): Refactor into create_log_file() and
open_log_file().
innobase_start_or_create_for_mysql(): If ib_logfile0 cannot be found,
create log files. Otherwise, open the log files and ensure that every
file is of the same size, which is a multiple of the page size.
innobase_start_or_create_for_mysql(): After processing the redo log
files, if the number or size of redo log files disagrees with the
configured number or size, crash the server. (This is a placeholder
for the code that will replace the logs.)
modified:
storage/innobase/include/srv0srv.h
storage/innobase/srv/srv0srv.cc
storage/innobase/srv/srv0start.cc
=== modified file 'storage/innobase/srv/srv0start.cc'
--- a/storage/innobase/srv/srv0start.cc revid:marko.makela@stripped
+++ b/storage/innobase/srv/srv0start.cc revid:marko.makela@oracle.com-20120920192156-rkqr5aa42zbrydwz
@@ -1856,6 +1856,10 @@ create_log_files:
break;
}
+ if (!srv_file_check_mode(logfilename)) {
+ return(DB_ERROR);
+ }
+
err = open_log_file(&files[i], logfilename, &size);
if (err != DB_SUCCESS) {
@@ -1908,6 +1912,9 @@ create_log_files:
ut_a(srv_log_file_size <= ULINT_MAX);
for (ulint j = 0; j < i; j++) {
+ sprintf(logfilename + dirnamelen, "ib_logfile%lu",
+ (ulong) j);
+
fil_node_create(logfilename, (ulint) srv_log_file_size,
SRV_LOG_SPACE_FIRST_ID, FALSE);
}
No bundle (reason: useless for push emails).| Thread |
|---|
| • bzr push into mysql-5.6-wl6494 branch (marko.makela:4302 to 4303) | marko.makela | 21 Sep |