Commit f6da55d8 authored by unknown's avatar unknown

InnoDB: Remove compiler warning


innobase/fil/fil0fil.c:
  Move the declaration of fil_node_t to os0file.h.
  Remove type casting from address-of operation
  (which would break strict aliasing rules)
innobase/include/os0file.h:
  Declare fil_node_t as an opaque structure.
  Replace void* message1 with fil_node_t* message1.
innobase/os/os0file.c:
  Replace void* message1 with fil_node_t* message1.
parent 2ebdd2d9
...@@ -98,7 +98,6 @@ ulint fil_n_pending_tablespace_flushes = 0; ...@@ -98,7 +98,6 @@ ulint fil_n_pending_tablespace_flushes = 0;
fil_addr_t fil_addr_null = {FIL_NULL, 0}; fil_addr_t fil_addr_null = {FIL_NULL, 0};
/* File node of a tablespace or the log data space */ /* File node of a tablespace or the log data space */
typedef struct fil_node_struct fil_node_t;
struct fil_node_struct { struct fil_node_struct {
fil_space_t* space; /* backpointer to the space where this node fil_space_t* space; /* backpointer to the space where this node
belongs */ belongs */
...@@ -4037,7 +4036,7 @@ fil_aio_wait( ...@@ -4037,7 +4036,7 @@ fil_aio_wait(
} else { } else {
srv_set_io_thread_op_info(segment, "simulated aio handle"); srv_set_io_thread_op_info(segment, "simulated aio handle");
ret = os_aio_simulated_handle(segment, (void**) &fil_node, ret = os_aio_simulated_handle(segment, &fil_node,
&message, &type); &message, &type);
} }
......
...@@ -17,6 +17,8 @@ Created 10/21/1995 Heikki Tuuri ...@@ -17,6 +17,8 @@ Created 10/21/1995 Heikki Tuuri
#include <time.h> #include <time.h>
#endif #endif
typedef struct fil_node_struct fil_node_t;
extern ibool os_do_not_call_flush_at_each_write; extern ibool os_do_not_call_flush_at_each_write;
extern ibool os_has_said_disk_full; extern ibool os_has_said_disk_full;
extern ibool os_aio_print_debug; extern ibool os_aio_print_debug;
...@@ -563,7 +565,7 @@ os_aio( ...@@ -563,7 +565,7 @@ os_aio(
ulint offset_high, /* in: most significant 32 bits of ulint offset_high, /* in: most significant 32 bits of
offset */ offset */
ulint n, /* in: number of bytes to read or write */ ulint n, /* in: number of bytes to read or write */
void* message1,/* in: messages for the aio handler (these fil_node_t* message1,/* in: messages for the aio handler (these
can be used to identify a completed aio can be used to identify a completed aio
operation); if mode is OS_AIO_SYNC, these operation); if mode is OS_AIO_SYNC, these
are ignored */ are ignored */
...@@ -621,7 +623,7 @@ os_aio_windows_handle( ...@@ -621,7 +623,7 @@ os_aio_windows_handle(
ignored */ ignored */
ulint pos, /* this parameter is used only in sync aio: ulint pos, /* this parameter is used only in sync aio:
wait for the aio slot at this position */ wait for the aio slot at this position */
void** message1, /* out: the messages passed with the aio fil_node_t**message1, /* out: the messages passed with the aio
request; note that also in the case where request; note that also in the case where
the aio operation failed, these output the aio operation failed, these output
parameters are valid and can be used to parameters are valid and can be used to
...@@ -641,7 +643,7 @@ os_aio_posix_handle( ...@@ -641,7 +643,7 @@ os_aio_posix_handle(
/*================*/ /*================*/
/* out: TRUE if the aio operation succeeded */ /* out: TRUE if the aio operation succeeded */
ulint array_no, /* in: array number 0 - 3 */ ulint array_no, /* in: array number 0 - 3 */
void** message1, /* out: the messages passed with the aio fil_node_t**message1, /* out: the messages passed with the aio
request; note that also in the case where request; note that also in the case where
the aio operation failed, these output the aio operation failed, these output
parameters are valid and can be used to parameters are valid and can be used to
...@@ -661,7 +663,7 @@ os_aio_simulated_handle( ...@@ -661,7 +663,7 @@ os_aio_simulated_handle(
i/o thread, segment 1 the log i/o thread, i/o thread, segment 1 the log i/o thread,
then follow the non-ibuf read threads, and as then follow the non-ibuf read threads, and as
the last are the non-ibuf write threads */ the last are the non-ibuf write threads */
void** message1, /* out: the messages passed with the aio fil_node_t**message1, /* out: the messages passed with the aio
request; note that also in the case where request; note that also in the case where
the aio operation failed, these output the aio operation failed, these output
parameters are valid and can be used to parameters are valid and can be used to
......
...@@ -83,7 +83,7 @@ struct os_aio_slot_struct{ ...@@ -83,7 +83,7 @@ struct os_aio_slot_struct{
made and only the slot message made and only the slot message
needs to be passed to the caller needs to be passed to the caller
of os_aio_simulated_handle */ of os_aio_simulated_handle */
void* message1; /* message which is given by the */ fil_node_t* message1; /* message which is given by the */
void* message2; /* the requester of an aio operation void* message2; /* the requester of an aio operation
and which can be used to identify and which can be used to identify
which pending aio operation was which pending aio operation was
...@@ -3025,7 +3025,7 @@ os_aio_array_reserve_slot( ...@@ -3025,7 +3025,7 @@ os_aio_array_reserve_slot(
/* out: pointer to slot */ /* out: pointer to slot */
ulint type, /* in: OS_FILE_READ or OS_FILE_WRITE */ ulint type, /* in: OS_FILE_READ or OS_FILE_WRITE */
os_aio_array_t* array, /* in: aio array */ os_aio_array_t* array, /* in: aio array */
void* message1,/* in: message to be passed along with fil_node_t* message1,/* in: message to be passed along with
the aio operation */ the aio operation */
void* message2,/* in: message to be passed along with void* message2,/* in: message to be passed along with
the aio operation */ the aio operation */
...@@ -3287,7 +3287,7 @@ os_aio( ...@@ -3287,7 +3287,7 @@ os_aio(
ulint offset_high, /* in: most significant 32 bits of ulint offset_high, /* in: most significant 32 bits of
offset */ offset */
ulint n, /* in: number of bytes to read or write */ ulint n, /* in: number of bytes to read or write */
void* message1,/* in: messages for the aio handler (these fil_node_t* message1,/* in: messages for the aio handler (these
can be used to identify a completed aio can be used to identify a completed aio
operation); if mode is OS_AIO_SYNC, these operation); if mode is OS_AIO_SYNC, these
are ignored */ are ignored */
...@@ -3472,7 +3472,7 @@ os_aio_windows_handle( ...@@ -3472,7 +3472,7 @@ os_aio_windows_handle(
ignored */ ignored */
ulint pos, /* this parameter is used only in sync aio: ulint pos, /* this parameter is used only in sync aio:
wait for the aio slot at this position */ wait for the aio slot at this position */
void** message1, /* out: the messages passed with the aio fil_node_t**message1, /* out: the messages passed with the aio
request; note that also in the case where request; note that also in the case where
the aio operation failed, these output the aio operation failed, these output
parameters are valid and can be used to parameters are valid and can be used to
...@@ -3563,7 +3563,7 @@ os_aio_posix_handle( ...@@ -3563,7 +3563,7 @@ os_aio_posix_handle(
/*================*/ /*================*/
/* out: TRUE if the aio operation succeeded */ /* out: TRUE if the aio operation succeeded */
ulint array_no, /* in: array number 0 - 3 */ ulint array_no, /* in: array number 0 - 3 */
void** message1, /* out: the messages passed with the aio fil_node_t**message1, /* out: the messages passed with the aio
request; note that also in the case where request; note that also in the case where
the aio operation failed, these output the aio operation failed, these output
parameters are valid and can be used to parameters are valid and can be used to
...@@ -3644,7 +3644,7 @@ os_aio_simulated_handle( ...@@ -3644,7 +3644,7 @@ os_aio_simulated_handle(
i/o thread, segment 1 the log i/o thread, i/o thread, segment 1 the log i/o thread,
then follow the non-ibuf read threads, and as then follow the non-ibuf read threads, and as
the last are the non-ibuf write threads */ the last are the non-ibuf write threads */
void** message1, /* out: the messages passed with the aio fil_node_t**message1, /* out: the messages passed with the aio
request; note that also in the case where request; note that also in the case where
the aio operation failed, these output the aio operation failed, these output
parameters are valid and can be used to parameters are valid and can be used to
......
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