1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

srv0srv.h Support raw disk as a data file

srv0start.c	Support raw disk as a data file
srv0srv.c	Support raw disk as a data file
ha_innobase.cc	Some error messages and support raw disk as a data file


sql/ha_innobase.cc:
  Some error messages and support raw disk as a data file
innobase/srv/srv0srv.c:
  Support raw disk as a data file
innobase/srv/srv0start.c:
  Support raw disk as a data file
innobase/include/srv0srv.h:
  Support raw disk as a data file
This commit is contained in:
unknown
2001-07-19 22:46:41 +03:00
parent dece009c8b
commit 1116aced39
4 changed files with 175 additions and 7 deletions

View File

@ -330,10 +330,28 @@ open_or_create_data_files(
sprintf(name, "%s%s", srv_data_home, srv_data_file_names[i]);
files[i] = os_file_create(name, OS_FILE_CREATE,
if (srv_data_file_is_raw_partition[i] == 0) {
files[i] = os_file_create(name, OS_FILE_CREATE,
OS_FILE_NORMAL, &ret);
} else if (srv_data_file_is_raw_partition[i] == SRV_OLD_RAW) {
ret = FALSE;
} else if (srv_data_file_is_raw_partition[i] == SRV_NEW_RAW) {
files[i] = os_file_create(
name, OS_FILE_OPEN, OS_FILE_NORMAL, &ret);
if (!ret) {
fprintf(stderr,
"InnoDB: Error in opening %s\n", name);
return(DB_ERROR);
}
}
if (ret == FALSE) {
if (os_file_get_last_error() !=
if (srv_data_file_is_raw_partition[i] == 0
&& os_file_get_last_error() !=
OS_FILE_ALREADY_EXISTS) {
fprintf(stderr,
"InnoDB: Error in creating or opening %s\n",
@ -364,8 +382,10 @@ open_or_create_data_files(
ret = os_file_get_size(files[i], &size, &size_high);
ut_a(ret);
if (size != UNIV_PAGE_SIZE * srv_data_file_sizes[i]
|| size_high != 0) {
if (srv_data_file_is_raw_partition[i] == 0
&& (size != UNIV_PAGE_SIZE * srv_data_file_sizes[i]
|| size_high != 0)) {
fprintf(stderr,
"InnoDB: Error: data file %s is of different size\n"
"InnoDB: than specified in the .cnf file!\n", name);
@ -722,6 +742,7 @@ innobase_start_or_create_for_mysql(void)
mutex_exit(&(log_sys->mutex));
}
mutex_create(&row_mysql_thread_mutex);
sess_sys_init_at_db_start();
if (create_new_db) {