Commit f6da55d8 authored by unknown's avatar unknown
Browse files

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
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -98,7 +98,6 @@ ulint fil_n_pending_tablespace_flushes = 0;
fil_addr_t	fil_addr_null = {FIL_NULL, 0};

/* File node of a tablespace or the log data space */
typedef	struct fil_node_struct	fil_node_t;
struct fil_node_struct {
	fil_space_t*	space;	/* backpointer to the space where this node
				belongs */
@@ -4037,7 +4036,7 @@ fil_aio_wait(
	} else {
		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);
	}
	
+6 −4
Original line number Diff line number Diff line
@@ -17,6 +17,8 @@ Created 10/21/1995 Heikki Tuuri
#include <time.h>
#endif

typedef	struct fil_node_struct	fil_node_t;

extern ibool	os_do_not_call_flush_at_each_write;
extern ibool	os_has_said_disk_full;
extern ibool	os_aio_print_debug;
@@ -563,7 +565,7 @@ os_aio(
	ulint		offset_high, /* in: most significant 32 bits of
				offset */
	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
				operation); if mode is OS_AIO_SYNC, these
				are ignored */
@@ -621,7 +623,7 @@ os_aio_windows_handle(
				ignored */
	ulint	pos,		/* this parameter is used only in sync aio:
				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
				the aio operation failed, these output
				parameters are valid and can be used to
@@ -641,7 +643,7 @@ os_aio_posix_handle(
/*================*/
				/* out: TRUE if the aio operation succeeded */
	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
				the aio operation failed, these output
				parameters are valid and can be used to
@@ -661,7 +663,7 @@ os_aio_simulated_handle(
				i/o thread, segment 1 the log i/o thread,
				then follow the non-ibuf read threads, and as
				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
				the aio operation failed, these output
				parameters are valid and can be used to
+6 −6
Original line number Diff line number Diff line
@@ -83,7 +83,7 @@ struct os_aio_slot_struct{
					made and only the slot message
					needs to be passed to the caller
					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
					and which can be used to identify
					which pending aio operation was
@@ -3025,7 +3025,7 @@ os_aio_array_reserve_slot(
				/* out: pointer to slot */
	ulint		type,	/* in: OS_FILE_READ or OS_FILE_WRITE */
	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 */
	void*		message2,/* in: message to be passed along with
				the aio operation */
@@ -3287,7 +3287,7 @@ os_aio(
	ulint		offset_high, /* in: most significant 32 bits of
				offset */
	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
				operation); if mode is OS_AIO_SYNC, these
				are ignored */
@@ -3472,7 +3472,7 @@ os_aio_windows_handle(
				ignored */
	ulint	pos,		/* this parameter is used only in sync aio:
				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
				the aio operation failed, these output
				parameters are valid and can be used to
@@ -3563,7 +3563,7 @@ os_aio_posix_handle(
/*================*/
				/* out: TRUE if the aio operation succeeded */
	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
				the aio operation failed, these output
				parameters are valid and can be used to
@@ -3644,7 +3644,7 @@ os_aio_simulated_handle(
				i/o thread, segment 1 the log i/o thread,
				then follow the non-ibuf read threads, and as
				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
				the aio operation failed, these output
				parameters are valid and can be used to