summaryrefslogtreecommitdiff
path: root/storage/innobase/include/os0file.ic
diff options
context:
space:
mode:
authorJan Lindström <jplindst@mariadb.org>2013-12-19 14:36:38 +0200
committerJan Lindström <jplindst@mariadb.org>2013-12-19 14:36:38 +0200
commit5e55d1ced52c52fb2f0508e1346059901a85960f (patch)
tree517032a404d9b0ebde9b9174459fbce301dcec95 /storage/innobase/include/os0file.ic
parent1f4f425a2007c51eeee35f911a787fc7d82d977c (diff)
downloadmariadb-git-5e55d1ced52c52fb2f0508e1346059901a85960f.tar.gz
Changes for Fusion-io multi-threaded flush, page compressed tables and
tables using atomic write/table. This is work in progress and some parts are at most POC quality.
Diffstat (limited to 'storage/innobase/include/os0file.ic')
-rw-r--r--storage/innobase/include/os0file.ic13
1 files changed, 9 insertions, 4 deletions
diff --git a/storage/innobase/include/os0file.ic b/storage/innobase/include/os0file.ic
index bdd7eb5f8f4..2be0f6a8d97 100644
--- a/storage/innobase/include/os0file.ic
+++ b/storage/innobase/include/os0file.ic
@@ -1,6 +1,7 @@
/*****************************************************************************
Copyright (c) 2010, 2011, Oracle and/or its affiliates. All Rights Reserved.
+Copyright (c) 2013, SkySQL Ab. All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
@@ -44,6 +45,7 @@ pfs_os_file_create_simple_func(
ulint access_type,/*!< in: OS_FILE_READ_ONLY or
OS_FILE_READ_WRITE */
ibool* success,/*!< out: TRUE if succeed, FALSE if error */
+ ibool atomic_writes, /*!<in TRUE if atomic writes are used */
const char* src_file,/*!< in: file name where func invoked */
ulint src_line)/*!< in: line where the func invoked */
{
@@ -59,7 +61,7 @@ pfs_os_file_create_simple_func(
name, src_file, src_line);
file = os_file_create_simple_func(name, create_mode,
- access_type, success);
+ access_type, success, atomic_writes);
/* Regsiter the returning "file" value with the system */
register_pfs_file_open_end(locker, file);
@@ -88,6 +90,7 @@ pfs_os_file_create_simple_no_error_handling_func(
OS_FILE_READ_ALLOW_DELETE; the last option is
used by a backup program reading the file */
ibool* success,/*!< out: TRUE if succeed, FALSE if error */
+ ibool atomic_writes, /*!<in TRUE if atomic writes are used */
const char* src_file,/*!< in: file name where func invoked */
ulint src_line)/*!< in: line where the func invoked */
{
@@ -103,7 +106,7 @@ pfs_os_file_create_simple_no_error_handling_func(
name, src_file, src_line);
file = os_file_create_simple_no_error_handling_func(
- name, create_mode, access_type, success);
+ name, create_mode, access_type, success, atomic_writes);
register_pfs_file_open_end(locker, file);
@@ -134,6 +137,7 @@ pfs_os_file_create_func(
function source code for the exact rules */
ulint type, /*!< in: OS_DATA_FILE or OS_LOG_FILE */
ibool* success,/*!< out: TRUE if succeed, FALSE if error */
+ ibool atomic_writes, /*!<in TRUE if atomic writes are used */
const char* src_file,/*!< in: file name where func invoked */
ulint src_line)/*!< in: line where the func invoked */
{
@@ -148,7 +152,7 @@ pfs_os_file_create_func(
: PSI_FILE_OPEN),
name, src_file, src_line);
- file = os_file_create_func(name, create_mode, purpose, type, success);
+ file = os_file_create_func(name, create_mode, purpose, type, success, atomic_writes);
register_pfs_file_open_end(locker, file);
@@ -210,6 +214,7 @@ pfs_os_aio_func(
(can be used to identify a completed
aio operation); ignored if mode is
OS_AIO_SYNC */
+ ibool atomic_writes, /*!<in TRUE if atomic writes are used */
const char* src_file,/*!< in: file name where func invoked */
ulint src_line)/*!< in: line where the func invoked */
{
@@ -225,7 +230,7 @@ pfs_os_aio_func(
src_file, src_line);
result = os_aio_func(type, mode, name, file, buf, offset,
- n, message1, message2);
+ n, message1, message2, atomic_writes);
register_pfs_file_io_end(locker, n);