summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <heikki@donna.mysql.fi>2001-05-23 18:04:49 +0300
committerunknown <heikki@donna.mysql.fi>2001-05-23 18:04:49 +0300
commit8f85a1a691bac08dafadd1dd9242e8435c99feaa (patch)
treec1ad23c161d316af10c275cad5f8b15f58e28c86 /sql
parentcef9025b707f60c9b4bd703866b2896166004799 (diff)
downloadmariadb-git-8f85a1a691bac08dafadd1dd9242e8435c99feaa.tar.gz
srv0srv.h One can now specify innodb_unix_file_flush_method in my.cnf
srv0srv.c One can now specify innodb_unix_file_flush_method in my.cnf srv0start.c One can now specify innodb_unix_file_flush_method in my.cnf ha_innobase.cc One can now specify innodb_unix_file_flush_method in my.cnf ha_innobase.h One can now specify innodb_unix_file_flush_method in my.cnf mysqld.cc One can now specify innodb_unix_file_flush_method in my.cnf sql/ha_innobase.cc: One can now specify innodb_unix_file_flush_method in my.cnf sql/ha_innobase.h: One can now specify innodb_unix_file_flush_method in my.cnf sql/mysqld.cc: One can now specify innodb_unix_file_flush_method in my.cnf innobase/srv/srv0srv.c: One can now specify innodb_unix_file_flush_method in my.cnf innobase/srv/srv0start.c: One can now specify innodb_unix_file_flush_method in my.cnf innobase/include/srv0srv.h: One can now specify innodb_unix_file_flush_method in my.cnf BitKeeper/etc/logging_ok: Logging to logging@openlogging.org accepted
Diffstat (limited to 'sql')
-rw-r--r--sql/ha_innobase.cc5
-rw-r--r--sql/ha_innobase.h1
-rw-r--r--sql/mysqld.cc7
3 files changed, 13 insertions, 0 deletions
diff --git a/sql/ha_innobase.cc b/sql/ha_innobase.cc
index 3e86d0da6f1..fa44cebe19d 100644
--- a/sql/ha_innobase.cc
+++ b/sql/ha_innobase.cc
@@ -83,6 +83,7 @@ long innobase_mirrored_log_groups, innobase_log_files_in_group,
char *innobase_data_home_dir, *innobase_data_file_path;
char *innobase_log_group_home_dir, *innobase_log_arch_dir;
+char *innobase_unix_file_flush_method;
bool innobase_flush_log_at_trx_commit, innobase_log_archive,
innobase_use_native_aio;
@@ -474,6 +475,10 @@ innobase_init(void)
DBUG_RETURN(TRUE);
}
+ srv_unix_file_flush_method_str = (innobase_unix_file_flush_method ?
+ innobase_unix_file_flush_method :
+ (char*)"fdatasync");
+
srv_n_log_groups = (ulint) innobase_mirrored_log_groups;
srv_n_log_files = (ulint) innobase_log_files_in_group;
srv_log_file_size = (ulint) innobase_log_file_size;
diff --git a/sql/ha_innobase.h b/sql/ha_innobase.h
index 429e47523dd..258e34cbf86 100644
--- a/sql/ha_innobase.h
+++ b/sql/ha_innobase.h
@@ -161,6 +161,7 @@ extern long innobase_buffer_pool_size, innobase_additional_mem_pool_size;
extern long innobase_file_io_threads, innobase_lock_wait_timeout;
extern char *innobase_data_home_dir, *innobase_data_file_path;
extern char *innobase_log_group_home_dir, *innobase_log_arch_dir;
+extern char *innobase_unix_file_flush_method;
extern bool innobase_flush_log_at_trx_commit, innobase_log_archive,
innobase_use_native_aio;
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 982e32a9fd7..dccb54ae7ec 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -2456,6 +2456,7 @@ enum options {
OPT_INNODB_LOG_ARCH_DIR,
OPT_INNODB_LOG_ARCHIVE,
OPT_INNODB_FLUSH_LOG_AT_TRX_COMMIT,
+ OPT_INNODB_UNIX_FILE_FLUSH_METHOD,
OPT_SAFE_SHOW_DB,
OPT_GEMINI_SKIP, OPT_INNODB_SKIP,
OPT_TEMP_POOL, OPT_TX_ISOLATION,
@@ -2516,6 +2517,8 @@ static struct option long_options[] = {
OPT_INNODB_LOG_ARCHIVE},
{"innodb_flush_log_at_trx_commit", optional_argument, 0,
OPT_INNODB_FLUSH_LOG_AT_TRX_COMMIT},
+ {"innodb_unix_file_flush_method", required_argument, 0,
+ OPT_INNODB_UNIX_FILE_FLUSH_METHOD},
#endif
{"help", no_argument, 0, '?'},
{"init-file", required_argument, 0, (int) OPT_INIT_FILE},
@@ -2793,6 +2796,7 @@ struct show_var_st init_vars[]= {
{"innodb_log_arch_dir", (char*) &innobase_log_arch_dir, SHOW_CHAR_PTR},
{"innodb_log_archive", (char*) &innobase_log_archive, SHOW_MY_BOOL},
{"innodb_log_group_home_dir", (char*) &innobase_log_group_home_dir, SHOW_CHAR_PTR},
+ {"innodb_unix_file_flush_method", (char*) &innobase_unix_file_flush_method, SHOW_CHAR_PTR},
#endif
{"interactive_timeout", (char*) &net_interactive_timeout, SHOW_LONG},
{"join_buffer_size", (char*) &join_buff_size, SHOW_LONG},
@@ -3653,6 +3657,9 @@ static void get_options(int argc,char **argv)
case OPT_INNODB_FLUSH_LOG_AT_TRX_COMMIT:
innobase_flush_log_at_trx_commit= optarg ? test(atoi(optarg)) : 1;
break;
+ case OPT_INNODB_UNIX_FILE_FLUSH_METHOD:
+ innobase_unix_file_flush_method=optarg;
+ break;
#endif /* HAVE_INNOBASE_DB */
case OPT_MYISAM_RECOVER:
{