[lttng-dev] [PATCH] lttng-module: block.h : Fix build for 3.9 kernel
Mathieu Desnoyers
mathieu.desnoyers at efficios.com
Mon Mar 25 09:33:34 EDT 2013
* maxin.john at enea.com (maxin.john at enea.com) wrote:
> From: "Maxin B. John" <maxin.john at enea.com>
>
> commit :3a366e614d0837d9fc23f78cdb1a1186ebc3387f
> block: add missing block_bio_complete() tracepoint
> added block_bio_complete to 3.9 kernel
>
> commit : 8c1cf6bb02fda79b0a4b9bd121f6be6d4ce7a15a
> block: add @req to bio_{front|back}_merge tracepoints
> added block_bio_backmerge and block_bio_frontmerge to 3.9 kernel
>
> Update block.h based on these commits in mainline kernel
Disabling the event prior to 3.9.0 does not seem to be the proper
solution. We should rather #ifdef the old/new TRACE_EVENT definitions to
accept the proper number of arguments for each kernel.
Thanks,
Mathieu
>
> Fixes this build failure:
> ....
> include/trace/events/block.h:353:1: note: previous definition of
> 'trace_block_bio_frontmerge' was here
> make[3]: *** [/home/majo/kernel/lttng/lttng-modules/probes/
> lttng-probe-block.o] Error 1
> make[2]: *** [/home/majo/kernel/lttng/lttng-modules/probes] Error 2
> make[1]: *** [_module_/home/majo/kernel/lttng/lttng-modules] Error 2
> make: *** [default] Error 2
>
> Signed-off-by: Maxin B. John <maxin.john at enea.com>
> ---
> instrumentation/events/lttng-module/block.h | 16 ++++++++++++++++
> 1 files changed, 16 insertions(+), 0 deletions(-)
>
> diff --git a/instrumentation/events/lttng-module/block.h b/instrumentation/events/lttng-module/block.h
> index d42ebd4..59bd2c0 100644
> --- a/instrumentation/events/lttng-module/block.h
> +++ b/instrumentation/events/lttng-module/block.h
> @@ -311,6 +311,13 @@ TRACE_EVENT(block_bio_bounce,
> * This tracepoint indicates there is no further work to do on this
> * block IO operation @bio.
> */
> +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0))
> +/**
> + * commit :3a366e614d0837d9fc23f78cdb1a1186ebc3387f
> + * block: add missing block_bio_complete() tracepoint
> + * added block_bio_complete to 3.9.0 kernel
> + */
> +#else
> TRACE_EVENT(block_bio_complete,
>
> #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38))
> @@ -349,6 +356,7 @@ TRACE_EVENT(block_bio_complete,
> (unsigned long long)__entry->sector,
> __entry->nr_sector, __entry->error)
> )
> +#endif
>
> DECLARE_EVENT_CLASS(block_bio,
>
> @@ -387,6 +395,13 @@ DECLARE_EVENT_CLASS(block_bio,
> * Merging block request @bio to the end of an existing block request
> * in queue @q.
> */
> +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0))
> +/**
> + * commit : 8c1cf6bb02fda79b0a4b9bd121f6be6d4ce7a15a
> + * block: add @req to bio_{front|back}_merge tracepoints
> + * added block_bio_backmerge and block_bio_frontmerge to 3.9.0 kernel
> + */
> +#else
> DEFINE_EVENT(block_bio, block_bio_backmerge,
>
> TP_PROTO(struct request_queue *q, struct bio *bio),
> @@ -408,6 +423,7 @@ DEFINE_EVENT(block_bio, block_bio_frontmerge,
>
> TP_ARGS(q, bio)
> )
> +#endif
>
> /**
> * block_bio_queue - putting new block IO operation in queue
> --
> 1.7.5.4
>
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
More information about the lttng-dev
mailing list