Commit 68b5aeae authored by Marko Mäkelä's avatar Marko Mäkelä

Minor cleanup of InnoDB I/O routines

Change many function parameters from IORequest& to const IORequest&.

Remove an unused definition of ECANCELED.
parent 859714e7
...@@ -979,7 +979,7 @@ pfs_os_file_close_func( ...@@ -979,7 +979,7 @@ pfs_os_file_close_func(
this function! this function!
This is the performance schema instrumented wrapper function for This is the performance schema instrumented wrapper function for
os_file_read() which requests a synchronous read operation. os_file_read() which requests a synchronous read operation.
@param[in, out] type IO request context @param[in] type IO request context
@param[in] file Open file handle @param[in] file Open file handle
@param[out] buf buffer where to read @param[out] buf buffer where to read
@param[in] offset file offset where to read @param[in] offset file offset where to read
...@@ -990,20 +990,20 @@ os_file_read() which requests a synchronous read operation. ...@@ -990,20 +990,20 @@ os_file_read() which requests a synchronous read operation.
UNIV_INLINE UNIV_INLINE
dberr_t dberr_t
pfs_os_file_read_func( pfs_os_file_read_func(
IORequest& type, const IORequest& type,
pfs_os_file_t file, pfs_os_file_t file,
void* buf, void* buf,
os_offset_t offset, os_offset_t offset,
ulint n, ulint n,
const char* src_file, const char* src_file,
uint src_line); uint src_line);
/** NOTE! Please use the corresponding macro os_file_read_no_error_handling(), /** NOTE! Please use the corresponding macro os_file_read_no_error_handling(),
not directly this function! not directly this function!
This is the performance schema instrumented wrapper function for This is the performance schema instrumented wrapper function for
os_file_read_no_error_handling_func() which requests a synchronous os_file_read_no_error_handling_func() which requests a synchronous
read operation. read operation.
@param[in, out] type IO request context @param[in] type IO request context
@param[in] file Open file handle @param[in] file Open file handle
@param[out] buf buffer where to read @param[out] buf buffer where to read
@param[in] offset file offset where to read @param[in] offset file offset where to read
...@@ -1015,20 +1015,20 @@ read operation. ...@@ -1015,20 +1015,20 @@ read operation.
UNIV_INLINE UNIV_INLINE
dberr_t dberr_t
pfs_os_file_read_no_error_handling_func( pfs_os_file_read_no_error_handling_func(
IORequest& type, const IORequest& type,
pfs_os_file_t file, pfs_os_file_t file,
void* buf, void* buf,
os_offset_t offset, os_offset_t offset,
ulint n, ulint n,
ulint* o, ulint* o,
const char* src_file, const char* src_file,
uint src_line); uint src_line);
/** NOTE! Please use the corresponding macro os_aio(), not directly this /** NOTE! Please use the corresponding macro os_aio(), not directly this
function! function!
Performance schema wrapper function of os_aio() which requests Performance schema wrapper function of os_aio() which requests
an asynchronous I/O operation. an asynchronous I/O operation.
@param[in] type IO request context @param[in,out] type IO request context
@param[in] mode IO mode @param[in] mode IO mode
@param[in] name Name of the file or path as NUL terminated @param[in] name Name of the file or path as NUL terminated
string string
...@@ -1066,7 +1066,7 @@ pfs_os_aio_func( ...@@ -1066,7 +1066,7 @@ pfs_os_aio_func(
this function! this function!
This is the performance schema instrumented wrapper function for This is the performance schema instrumented wrapper function for
os_file_write() which requests a synchronous write operation. os_file_write() which requests a synchronous write operation.
@param[in, out] type IO request context @param[in] type IO request context
@param[in] name Name of the file or path as NUL terminated @param[in] name Name of the file or path as NUL terminated
string string
@param[in] file Open file handle @param[in] file Open file handle
...@@ -1079,14 +1079,14 @@ os_file_write() which requests a synchronous write operation. ...@@ -1079,14 +1079,14 @@ os_file_write() which requests a synchronous write operation.
UNIV_INLINE UNIV_INLINE
dberr_t dberr_t
pfs_os_file_write_func( pfs_os_file_write_func(
IORequest& type, const IORequest& type,
const char* name, const char* name,
pfs_os_file_t file, pfs_os_file_t file,
const void* buf, const void* buf,
os_offset_t offset, os_offset_t offset,
ulint n, ulint n,
const char* src_file, const char* src_file,
uint src_line); uint src_line);
/** NOTE! Please use the corresponding macro os_file_flush(), not directly /** NOTE! Please use the corresponding macro os_file_flush(), not directly
this function! this function!
...@@ -1293,11 +1293,11 @@ Requests a synchronous read operation. ...@@ -1293,11 +1293,11 @@ Requests a synchronous read operation.
@return DB_SUCCESS if request was successful */ @return DB_SUCCESS if request was successful */
dberr_t dberr_t
os_file_read_func( os_file_read_func(
IORequest& type, const IORequest& type,
os_file_t file, os_file_t file,
void* buf, void* buf,
os_offset_t offset, os_offset_t offset,
ulint n) ulint n)
MY_ATTRIBUTE((warn_unused_result)); MY_ATTRIBUTE((warn_unused_result));
/** Rewind file to its start, read at most size - 1 bytes from it to str, and /** Rewind file to its start, read at most size - 1 bytes from it to str, and
...@@ -1325,18 +1325,18 @@ any error handling. In case of error it returns FALSE. ...@@ -1325,18 +1325,18 @@ any error handling. In case of error it returns FALSE.
@return DB_SUCCESS or error code */ @return DB_SUCCESS or error code */
dberr_t dberr_t
os_file_read_no_error_handling_func( os_file_read_no_error_handling_func(
IORequest& type, const IORequest& type,
os_file_t file, os_file_t file,
void* buf, void* buf,
os_offset_t offset, os_offset_t offset,
ulint n, ulint n,
ulint* o) ulint* o)
MY_ATTRIBUTE((warn_unused_result)); MY_ATTRIBUTE((warn_unused_result));
/** NOTE! Use the corresponding macro os_file_write(), not directly this /** NOTE! Use the corresponding macro os_file_write(), not directly this
function! function!
Requests a synchronous write operation. Requests a synchronous write operation.
@param[in,out] type IO request context @param[in] type IO request context
@param[in] file Open file handle @param[in] file Open file handle
@param[out] buf buffer where to read @param[out] buf buffer where to read
@param[in] offset file offset where to read @param[in] offset file offset where to read
...@@ -1344,12 +1344,12 @@ Requests a synchronous write operation. ...@@ -1344,12 +1344,12 @@ Requests a synchronous write operation.
@return DB_SUCCESS if request was successful */ @return DB_SUCCESS if request was successful */
dberr_t dberr_t
os_file_write_func( os_file_write_func(
IORequest& type, const IORequest& type,
const char* name, const char* name,
os_file_t file, os_file_t file,
const void* buf, const void* buf,
os_offset_t offset, os_offset_t offset,
ulint n) ulint n)
MY_ATTRIBUTE((warn_unused_result)); MY_ATTRIBUTE((warn_unused_result));
/** Check the existence and type of the given file. /** Check the existence and type of the given file.
...@@ -1432,7 +1432,7 @@ os_aio_free(); ...@@ -1432,7 +1432,7 @@ os_aio_free();
/** /**
NOTE! Use the corresponding macro os_aio(), not directly this function! NOTE! Use the corresponding macro os_aio(), not directly this function!
Requests an asynchronous i/o operation. Requests an asynchronous i/o operation.
@param[in] type IO request context @param[in,out] type IO request context
@param[in] mode IO mode @param[in] mode IO mode
@param[in] name Name of the file or path as NUL terminated @param[in] name Name of the file or path as NUL terminated
string string
......
...@@ -207,7 +207,7 @@ pfs_os_file_close_func( ...@@ -207,7 +207,7 @@ pfs_os_file_close_func(
function! function!
Performance schema wrapper function of os_aio() which requests Performance schema wrapper function of os_aio() which requests
an asynchronous i/o operation. an asynchronous i/o operation.
@param[in] type IO request context @param[in,type] type IO request context
@param[in] mode IO mode @param[in] mode IO mode
@param[in] name Name of the file or path as NUL terminated @param[in] name Name of the file or path as NUL terminated
string string
...@@ -264,7 +264,7 @@ pfs_os_aio_func( ...@@ -264,7 +264,7 @@ pfs_os_aio_func(
this function! this function!
This is the performance schema instrumented wrapper function for This is the performance schema instrumented wrapper function for
os_file_read() which requests a synchronous read operation. os_file_read() which requests a synchronous read operation.
@param[in, out] type IO request context @param[in] type IO request context
@param[in] file Open file handle @param[in] file Open file handle
@param[out] buf buffer where to read @param[out] buf buffer where to read
@param[in] offset file offset where to read @param[in] offset file offset where to read
...@@ -275,13 +275,13 @@ os_file_read() which requests a synchronous read operation. ...@@ -275,13 +275,13 @@ os_file_read() which requests a synchronous read operation.
UNIV_INLINE UNIV_INLINE
dberr_t dberr_t
pfs_os_file_read_func( pfs_os_file_read_func(
IORequest& type, const IORequest& type,
pfs_os_file_t file, pfs_os_file_t file,
void* buf, void* buf,
os_offset_t offset, os_offset_t offset,
ulint n, ulint n,
const char* src_file, const char* src_file,
uint src_line) uint src_line)
{ {
PSI_file_locker_state state; PSI_file_locker_state state;
struct PSI_file_locker* locker = NULL; struct PSI_file_locker* locker = NULL;
...@@ -305,7 +305,7 @@ not directly this function! ...@@ -305,7 +305,7 @@ not directly this function!
This is the performance schema instrumented wrapper function for This is the performance schema instrumented wrapper function for
os_file_read_no_error_handling_func() which requests a synchronous os_file_read_no_error_handling_func() which requests a synchronous
read operation. read operation.
@param[in, out] type IO request context @param[in] type IO request context
@param[in] file Open file handle @param[in] file Open file handle
@param[out] buf buffer where to read @param[out] buf buffer where to read
@param[in] offset file offset where to read @param[in] offset file offset where to read
...@@ -317,14 +317,14 @@ read operation. ...@@ -317,14 +317,14 @@ read operation.
UNIV_INLINE UNIV_INLINE
dberr_t dberr_t
pfs_os_file_read_no_error_handling_func( pfs_os_file_read_no_error_handling_func(
IORequest& type, const IORequest& type,
pfs_os_file_t file, pfs_os_file_t file,
void* buf, void* buf,
os_offset_t offset, os_offset_t offset,
ulint n, ulint n,
ulint* o, ulint* o,
const char* src_file, const char* src_file,
uint src_line) uint src_line)
{ {
PSI_file_locker_state state; PSI_file_locker_state state;
struct PSI_file_locker* locker = NULL; struct PSI_file_locker* locker = NULL;
...@@ -343,7 +343,7 @@ pfs_os_file_read_no_error_handling_func( ...@@ -343,7 +343,7 @@ pfs_os_file_read_no_error_handling_func(
/** NOTE! Please use the corresponding macro /** NOTE! Please use the corresponding macro
os_file_read_no_error_handling_int_fd() to request os_file_read_no_error_handling_int_fd() to request
a synchronous read operation. a synchronous read operation.
@param[in,out] type read request @param[in] type read request
@param[in] file file handle @param[in] file file handle
@param[out] buf buffer where to read @param[out] buf buffer where to read
@param[in] offset file offset where to read @param[in] offset file offset where to read
...@@ -354,13 +354,13 @@ a synchronous read operation. ...@@ -354,13 +354,13 @@ a synchronous read operation.
UNIV_INLINE UNIV_INLINE
bool bool
pfs_os_file_read_no_error_handling_int_fd_func( pfs_os_file_read_no_error_handling_int_fd_func(
IORequest& type, const IORequest& type,
int file, int file,
void* buf, void* buf,
os_offset_t offset, os_offset_t offset,
ulint n, ulint n,
const char* src_file, const char* src_file,
uint src_line) uint src_line)
{ {
PSI_file_locker_state state; PSI_file_locker_state state;
...@@ -387,7 +387,7 @@ pfs_os_file_read_no_error_handling_int_fd_func( ...@@ -387,7 +387,7 @@ pfs_os_file_read_no_error_handling_int_fd_func(
this function! this function!
This is the performance schema instrumented wrapper function for This is the performance schema instrumented wrapper function for
os_file_write() which requests a synchronous write operation. os_file_write() which requests a synchronous write operation.
@param[in, out] type IO request context @param[in] type IO request context
@param[in] name Name of the file or path as NUL terminated @param[in] name Name of the file or path as NUL terminated
string string
@param[in] file Open file handle @param[in] file Open file handle
...@@ -401,14 +401,14 @@ os_file_write() which requests a synchronous write operation. ...@@ -401,14 +401,14 @@ os_file_write() which requests a synchronous write operation.
UNIV_INLINE UNIV_INLINE
dberr_t dberr_t
pfs_os_file_write_func( pfs_os_file_write_func(
IORequest& type, const IORequest& type,
const char* name, const char* name,
pfs_os_file_t file, pfs_os_file_t file,
const void* buf, const void* buf,
os_offset_t offset, os_offset_t offset,
ulint n, ulint n,
const char* src_file, const char* src_file,
uint src_line) uint src_line)
{ {
PSI_file_locker_state state; PSI_file_locker_state state;
struct PSI_file_locker* locker = NULL; struct PSI_file_locker* locker = NULL;
...@@ -429,7 +429,7 @@ pfs_os_file_write_func( ...@@ -429,7 +429,7 @@ pfs_os_file_write_func(
not directly this function! not directly this function!
This is the performance schema instrumented wrapper function for This is the performance schema instrumented wrapper function for
os_file_write_int_fd() which requests a synchronous write operation. os_file_write_int_fd() which requests a synchronous write operation.
@param[in,out] type write request @param[in] type write request
@param[in] name file name @param[in] name file name
@param[in] file file handle @param[in] file file handle
@param[in] buf buffer to write @param[in] buf buffer to write
...@@ -441,14 +441,14 @@ os_file_write_int_fd() which requests a synchronous write operation. ...@@ -441,14 +441,14 @@ os_file_write_int_fd() which requests a synchronous write operation.
UNIV_INLINE UNIV_INLINE
bool bool
pfs_os_file_write_int_fd_func( pfs_os_file_write_int_fd_func(
IORequest& type, const IORequest& type,
const char* name, const char* name,
int file, int file,
const void* buf, const void* buf,
os_offset_t offset, os_offset_t offset,
ulint n, ulint n,
const char* src_file, const char* src_file,
uint src_line) uint src_line)
{ {
PSI_file_locker_state state; PSI_file_locker_state state;
struct PSI_file_locker* locker; struct PSI_file_locker* locker;
......
...@@ -107,9 +107,6 @@ static ulint os_innodb_umask = S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP; ...@@ -107,9 +107,6 @@ static ulint os_innodb_umask = S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP;
#else #else
/** Umask for creating files */ /** Umask for creating files */
static ulint os_innodb_umask = 0; static ulint os_innodb_umask = 0;
#ifndef ECANCELED
#define ECANCELED 125
#endif
static HANDLE completion_port; static HANDLE completion_port;
static HANDLE read_completion_port; static HANDLE read_completion_port;
static DWORD fls_sync_io = FLS_OUT_OF_INDEXES; static DWORD fls_sync_io = FLS_OUT_OF_INDEXES;
...@@ -303,7 +300,7 @@ class AIO { ...@@ -303,7 +300,7 @@ class AIO {
/** Requests for a slot in the aio array. If no slot is available, waits /** Requests for a slot in the aio array. If no slot is available, waits
until not_full-event becomes signaled. until not_full-event becomes signaled.
@param[in,out] type IO context @param[in] type IO context
@param[in,out] m1 message to be passed along with the AIO @param[in,out] m1 message to be passed along with the AIO
operation operation
@param[in,out] m2 message to be passed along with the AIO @param[in,out] m2 message to be passed along with the AIO
...@@ -316,14 +313,14 @@ class AIO { ...@@ -316,14 +313,14 @@ class AIO {
@param[in] len length of the block to read or write @param[in] len length of the block to read or write
@return pointer to slot */ @return pointer to slot */
Slot* reserve_slot( Slot* reserve_slot(
IORequest& type, const IORequest& type,
fil_node_t* m1, fil_node_t* m1,
void* m2, void* m2,
pfs_os_file_t file, pfs_os_file_t file,
const char* name, const char* name,
void* buf, void* buf,
os_offset_t offset, os_offset_t offset,
ulint len) ulint len)
MY_ATTRIBUTE((warn_unused_result)); MY_ATTRIBUTE((warn_unused_result));
/** @return number of reserved slots */ /** @return number of reserved slots */
...@@ -510,14 +507,14 @@ class AIO { ...@@ -510,14 +507,14 @@ class AIO {
MY_ATTRIBUTE((warn_unused_result)); MY_ATTRIBUTE((warn_unused_result));
/** Select the IO slot array /** Select the IO slot array
@param[in] type Type of IO, READ or WRITE @param[in,out] type Type of IO, READ or WRITE
@param[in] read_only true if running in read-only mode @param[in] read_only true if running in read-only mode
@param[in] mode IO mode @param[in] mode IO mode
@return slot array or NULL if invalid mode specified */ @return slot array or NULL if invalid mode specified */
static AIO* select_slot_array( static AIO* select_slot_array(
IORequest& type, IORequest& type,
bool read_only, bool read_only,
ulint mode) ulint mode)
MY_ATTRIBUTE((warn_unused_result)); MY_ATTRIBUTE((warn_unused_result));
/** Calculates segment number for a slot. /** Calculates segment number for a slot.
...@@ -4931,14 +4928,15 @@ os_file_io( ...@@ -4931,14 +4928,15 @@ os_file_io(
static MY_ATTRIBUTE((warn_unused_result)) static MY_ATTRIBUTE((warn_unused_result))
ssize_t ssize_t
os_file_pwrite( os_file_pwrite(
IORequest& type, const IORequest& type,
os_file_t file, os_file_t file,
const byte* buf, const byte* buf,
ulint n, ulint n,
os_offset_t offset, os_offset_t offset,
dberr_t* err) dberr_t* err)
{ {
ut_ad(type.validate()); ut_ad(type.validate());
ut_ad(type.is_write());
++os_n_file_writes; ++os_n_file_writes;
...@@ -4951,26 +4949,25 @@ os_file_pwrite( ...@@ -4951,26 +4949,25 @@ os_file_pwrite(
return(n_bytes); return(n_bytes);
} }
/** Requests a synchronous write operation. /** NOTE! Use the corresponding macro os_file_write(), not directly
Requests a synchronous write operation.
@param[in] type IO flags @param[in] type IO flags
@param[in] file handle to an open file @param[in] file handle to an open file
@param[out] buf buffer from which to write @param[out] buf buffer from which to write
@param[in] offset file offset from the start where to read @param[in] offset file offset from the start where to read
@param[in] n number of bytes to read, starting from offset @param[in] n number of bytes to read, starting from offset
@return DB_SUCCESS if request was successful, false if fail */ @return DB_SUCCESS if request was successful, false if fail */
static MY_ATTRIBUTE((warn_unused_result))
dberr_t dberr_t
os_file_write_page( os_file_write_func(
IORequest& type, const IORequest& type,
const char* name, const char* name,
os_file_t file, os_file_t file,
const void* buf, const void* buf,
os_offset_t offset, os_offset_t offset,
ulint n) ulint n)
{ {
dberr_t err; dberr_t err;
ut_ad(type.is_write());
ut_ad(type.validate()); ut_ad(type.validate());
ut_ad(n > 0); ut_ad(n > 0);
...@@ -5017,13 +5014,15 @@ os_file_write_page( ...@@ -5017,13 +5014,15 @@ os_file_write_page(
static MY_ATTRIBUTE((warn_unused_result)) static MY_ATTRIBUTE((warn_unused_result))
ssize_t ssize_t
os_file_pread( os_file_pread(
IORequest& type, const IORequest& type,
os_file_t file, os_file_t file,
void* buf, void* buf,
ulint n, ulint n,
os_offset_t offset, os_offset_t offset,
dberr_t* err) dberr_t* err)
{ {
ut_ad(type.is_read());
++os_n_file_reads; ++os_n_file_reads;
const bool monitor = MONITOR_IS_ON(MONITOR_OS_PENDING_READS); const bool monitor = MONITOR_IS_ON(MONITOR_OS_PENDING_READS);
...@@ -5047,13 +5046,13 @@ os_file_pread( ...@@ -5047,13 +5046,13 @@ os_file_pread(
static MY_ATTRIBUTE((warn_unused_result)) static MY_ATTRIBUTE((warn_unused_result))
dberr_t dberr_t
os_file_read_page( os_file_read_page(
IORequest& type, const IORequest& type,
os_file_t file, os_file_t file,
void* buf, void* buf,
os_offset_t offset, os_offset_t offset,
ulint n, ulint n,
ulint* o, ulint* o,
bool exit_on_err) bool exit_on_err)
{ {
dberr_t err; dberr_t err;
...@@ -5421,14 +5420,12 @@ Requests a synchronous positioned read operation. ...@@ -5421,14 +5420,12 @@ Requests a synchronous positioned read operation.
@return DB_SUCCESS or error code */ @return DB_SUCCESS or error code */
dberr_t dberr_t
os_file_read_func( os_file_read_func(
IORequest& type, const IORequest& type,
os_file_t file, os_file_t file,
void* buf, void* buf,
os_offset_t offset, os_offset_t offset,
ulint n) ulint n)
{ {
ut_ad(type.is_read());
return(os_file_read_page(type, file, buf, offset, n, NULL, true)); return(os_file_read_page(type, file, buf, offset, n, NULL, true));
} }
...@@ -5445,43 +5442,16 @@ Requests a synchronous positioned read operation. ...@@ -5445,43 +5442,16 @@ Requests a synchronous positioned read operation.
@return DB_SUCCESS or error code */ @return DB_SUCCESS or error code */
dberr_t dberr_t
os_file_read_no_error_handling_func( os_file_read_no_error_handling_func(
IORequest& type, const IORequest& type,
os_file_t file, os_file_t file,
void* buf, void* buf,
os_offset_t offset, os_offset_t offset,
ulint n, ulint n,
ulint* o) ulint* o)
{ {
ut_ad(type.is_read());
return(os_file_read_page(type, file, buf, offset, n, o, false)); return(os_file_read_page(type, file, buf, offset, n, o, false));
} }
/** NOTE! Use the corresponding macro os_file_write(), not directly
Requests a synchronous write operation.
@param[in] type IO flags
@param[in] file handle to an open file
@param[out] buf buffer from which to write
@param[in] offset file offset from the start where to read
@param[in] n number of bytes to read, starting from offset
@return DB_SUCCESS if request was successful, false if fail */
dberr_t
os_file_write_func(
IORequest& type,
const char* name,
os_file_t file,
const void* buf,
os_offset_t offset,
ulint n)
{
ut_ad(type.validate());
ut_ad(type.is_write());
const byte* ptr = reinterpret_cast<const byte*>(buf);
return(os_file_write_page(type, name, file, ptr, offset, n));
}
/** Check the existence and type of the given file. /** Check the existence and type of the given file.
@param[in] path path name of file @param[in] path path name of file
@param[out] exists true if the file exists @param[out] exists true if the file exists
...@@ -6146,7 +6116,7 @@ AIO::get_segment_no_from_slot( ...@@ -6146,7 +6116,7 @@ AIO::get_segment_no_from_slot(
/** Requests for a slot in the aio array. If no slot is available, waits until /** Requests for a slot in the aio array. If no slot is available, waits until
not_full-event becomes signaled. not_full-event becomes signaled.
@param[in,out] type IO context @param[in] type IO context
@param[in,out] m1 message to be passed along with the AIO @param[in,out] m1 message to be passed along with the AIO
operation operation
@param[in,out] m2 message to be passed along with the AIO @param[in,out] m2 message to be passed along with the AIO
...@@ -6160,14 +6130,14 @@ not_full-event becomes signaled. ...@@ -6160,14 +6130,14 @@ not_full-event becomes signaled.
@return pointer to slot */ @return pointer to slot */
Slot* Slot*
AIO::reserve_slot( AIO::reserve_slot(
IORequest& type, const IORequest& type,
fil_node_t* m1, fil_node_t* m1,
void* m2, void* m2,
pfs_os_file_t file, pfs_os_file_t file,
const char* name, const char* name,
void* buf, void* buf,
os_offset_t offset, os_offset_t offset,
ulint len) ulint len)
{ {
#ifdef WIN_ASYNC_IO #ifdef WIN_ASYNC_IO
ut_a((len & 0xFFFFFFFFUL) == len); ut_a((len & 0xFFFFFFFFUL) == len);
...@@ -6378,7 +6348,7 @@ os_aio_simulated_wake_handler_threads() ...@@ -6378,7 +6348,7 @@ os_aio_simulated_wake_handler_threads()
} }
/** Select the IO slot array /** Select the IO slot array
@param[in] type Type of IO, READ or WRITE @param[in,out] type Type of IO, READ or WRITE
@param[in] read_only true if running in read-only mode @param[in] read_only true if running in read-only mode
@param[in] mode IO mode @param[in] mode IO mode
@return slot array or NULL if invalid mode specified */ @return slot array or NULL if invalid mode specified */
...@@ -6595,7 +6565,7 @@ os_aio_windows_handler( ...@@ -6595,7 +6565,7 @@ os_aio_windows_handler(
/** /**
NOTE! Use the corresponding macro os_aio(), not directly this function! NOTE! Use the corresponding macro os_aio(), not directly this function!
Requests an asynchronous i/o operation. Requests an asynchronous i/o operation.
@param[in] type IO request context @param[in,out] type IO request context
@param[in] mode IO mode @param[in] mode IO mode
@param[in] name Name of the file or path as NUL terminated @param[in] name Name of the file or path as NUL terminated
string string
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment