2022-03-18 23:20:52

by Bixuan Cui

[permalink] [raw]
Subject: [PATCH -next] jbd2: use the correct print format

The print format error was found when using ftrace event:
<...>-1406 [000] .... 23599442.895823: jbd2_end_commit: dev 252,8 transaction -1866216965 sync 0 head -1866217368
<...>-1406 [000] .... 23599442.896299: jbd2_start_commit: dev 252,8 transaction -1866216964 sync 0

Print transaction and head with the unsigned format "%u" instead.

Fixes: 879c5e6b7cb4 ('jbd2: convert instrumentation from markers to tracepoints')
Signed-off-by: Bixuan Cui <[email protected]>
---
include/trace/events/jbd2.h | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/include/trace/events/jbd2.h b/include/trace/events/jbd2.h
index a4dfe005983d..5be1aa1691fb 100644
--- a/include/trace/events/jbd2.h
+++ b/include/trace/events/jbd2.h
@@ -40,7 +40,7 @@ DECLARE_EVENT_CLASS(jbd2_commit,
TP_STRUCT__entry(
__field( dev_t, dev )
__field( char, sync_commit )
- __field( int, transaction )
+ __field( tid_t, transaction )
),

TP_fast_assign(
@@ -49,7 +49,7 @@ DECLARE_EVENT_CLASS(jbd2_commit,
__entry->transaction = commit_transaction->t_tid;
),

- TP_printk("dev %d,%d transaction %d sync %d",
+ TP_printk("dev %d,%d transaction %u sync %d",
MAJOR(__entry->dev), MINOR(__entry->dev),
__entry->transaction, __entry->sync_commit)
);
@@ -97,8 +97,8 @@ TRACE_EVENT(jbd2_end_commit,
TP_STRUCT__entry(
__field( dev_t, dev )
__field( char, sync_commit )
- __field( int, transaction )
- __field( int, head )
+ __field( tid_t, transaction )
+ __field( tid_t, head )
),

TP_fast_assign(
@@ -108,7 +108,7 @@ TRACE_EVENT(jbd2_end_commit,
__entry->head = journal->j_tail_sequence;
),

- TP_printk("dev %d,%d transaction %d sync %d head %d",
+ TP_printk("dev %d,%d transaction %u sync %d head %u",
MAJOR(__entry->dev), MINOR(__entry->dev),
__entry->transaction, __entry->sync_commit, __entry->head)
);
--
2.19.1.6.gb485710b


2022-03-21 21:43:42

by Jan Kara

[permalink] [raw]
Subject: Re: [PATCH -next] jbd2: use the correct print format

On Fri 18-03-22 23:56:40, Bixuan Cui wrote:
> The print format error was found when using ftrace event:
> <...>-1406 [000] .... 23599442.895823: jbd2_end_commit: dev 252,8 transaction -1866216965 sync 0 head -1866217368
> <...>-1406 [000] .... 23599442.896299: jbd2_start_commit: dev 252,8 transaction -1866216964 sync 0
>
> Print transaction and head with the unsigned format "%u" instead.
>
> Fixes: 879c5e6b7cb4 ('jbd2: convert instrumentation from markers to tracepoints')
> Signed-off-by: Bixuan Cui <[email protected]>

Makes sense. Thanks for the fix. Feel free to add:

Reviewed-by: Jan Kara <[email protected]>

Honza

> ---
> include/trace/events/jbd2.h | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/include/trace/events/jbd2.h b/include/trace/events/jbd2.h
> index a4dfe005983d..5be1aa1691fb 100644
> --- a/include/trace/events/jbd2.h
> +++ b/include/trace/events/jbd2.h
> @@ -40,7 +40,7 @@ DECLARE_EVENT_CLASS(jbd2_commit,
> TP_STRUCT__entry(
> __field( dev_t, dev )
> __field( char, sync_commit )
> - __field( int, transaction )
> + __field( tid_t, transaction )
> ),
>
> TP_fast_assign(
> @@ -49,7 +49,7 @@ DECLARE_EVENT_CLASS(jbd2_commit,
> __entry->transaction = commit_transaction->t_tid;
> ),
>
> - TP_printk("dev %d,%d transaction %d sync %d",
> + TP_printk("dev %d,%d transaction %u sync %d",
> MAJOR(__entry->dev), MINOR(__entry->dev),
> __entry->transaction, __entry->sync_commit)
> );
> @@ -97,8 +97,8 @@ TRACE_EVENT(jbd2_end_commit,
> TP_STRUCT__entry(
> __field( dev_t, dev )
> __field( char, sync_commit )
> - __field( int, transaction )
> - __field( int, head )
> + __field( tid_t, transaction )
> + __field( tid_t, head )
> ),
>
> TP_fast_assign(
> @@ -108,7 +108,7 @@ TRACE_EVENT(jbd2_end_commit,
> __entry->head = journal->j_tail_sequence;
> ),
>
> - TP_printk("dev %d,%d transaction %d sync %d head %d",
> + TP_printk("dev %d,%d transaction %u sync %d head %u",
> MAJOR(__entry->dev), MINOR(__entry->dev),
> __entry->transaction, __entry->sync_commit, __entry->head)
> );
> --
> 2.19.1.6.gb485710b
>
--
Jan Kara <[email protected]>
SUSE Labs, CR

2022-04-22 18:36:45

by Bixuan Cui

[permalink] [raw]
Subject: 回复:[PATCH -next] jbd2: use the correct print for mat

Hi,
This patch doesn't seem to be merged into the next branch. :-)

Thanks,
Bixuan Cui

On Fri 18-03-22 23:56:40, Bixuan Cui wrote:

> The print format error was found when using ftrace event:
> <...>-1406 [000] .... 23599442.895823: jbd2_end_commit: dev 252,8 transaction -1866216965 sync 0 head -1866217368
> <...>-1406 [000] .... 23599442.896299: jbd2_start_commit: dev 252,8 transaction -1866216964 sync 0
>
> Print transaction and head with the unsigned format "%u" instead.
>
> Fixes: 879c5e6b7cb4 ('jbd2: convert instrumentation from markers to tracepoints')
> Signed-off-by: Bixuan Cui <[email protected]>

Makes sense. Thanks for the fix. Feel free to add:

Reviewed-by: Jan Kara <[email protected]>

Honza

> ---
> include/trace/events/jbd2.h | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/include/trace/events/jbd2.h b/include/trace/events/jbd2.h
> index a4dfe005983d..5be1aa1691fb 100644
> --- a/include/trace/events/jbd2.h
> +++ b/include/trace/events/jbd2.h
> @@ -40,7 +40,7 @@ DECLARE_EVENT_CLASS(jbd2_commit,
> TP_STRUCT__entry(
> __field( dev_t, dev )
> __field( char, sync_commit )
> - __field( int, transaction )
> + __field( tid_t, transaction )
> ),
>
> TP_fast_assign(
> @@ -49,7 +49,7 @@ DECLARE_EVENT_CLASS(jbd2_commit,
> __entry->transaction = commit_transaction->t_tid;
> ),
>
> - TP_printk("dev %d,%d transaction %d sync %d",
> + TP_printk("dev %d,%d transaction %u sync %d",
> MAJOR(__entry->dev), MINOR(__entry->dev),
> __entry->transaction, __entry->sync_commit)
> );
> @@ -97,8 +97,8 @@ TRACE_EVENT(jbd2_end_commit,
> TP_STRUCT__entry(
> __field( dev_t, dev )
> __field( char, sync_commit )
> - __field( int, transaction )
> - __field( int, head )
> + __field( tid_t, transaction )
> + __field( tid_t, head )
> ),
>
> TP_fast_assign(
> @@ -108,7 +108,7 @@ TRACE_EVENT(jbd2_end_commit,
> __entry->head = journal->j_tail_sequence;
> ),
>
> - TP_printk("dev %d,%d transaction %d sync %d head %d",
> + TP_printk("dev %d,%d transaction %u sync %d head %u",
> MAJOR(__entry->dev), MINOR(__entry->dev),
> __entry->transaction, __entry->sync_commit, __entry->head)
> );
> --
> 2.19.1.6.gb485710b
>
--
Jan Kara <[email protected]>
SUSE Labs, CR