linux-nilfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ryusuke Konishi <konishi.ryusuke@gmail.com>
To: Bart Van Assche <bvanassche@acm.org>
Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk>,
	 Linus Torvalds <torvalds@linux-foundation.org>,
	linux-nilfs@vger.kernel.org
Subject: Re: [PATCH] nilfs2: Use __field_struct() for a bitwise field
Date: Tue, 7 May 2024 13:10:23 +0900	[thread overview]
Message-ID: <CAKFNMokz-zJu95hu42YVC6P5VJCJq-DStPWHuWpOkHwiq_RduQ@mail.gmail.com> (raw)
In-Reply-To: <20240506232437.21264-1-bvanassche@acm.org>

On Tue, May 7, 2024 at 8:24 AM Bart Van Assche wrote:
>
> As one can see in include/trace/stages/stage4_event_fields.h, the
> implementation of __field() uses the is_signed_type() macro. As one can see
> in commit dcf8e5633e2e ("tracing: Define the is_signed_type() macro once"),
> there has been an attempt to not make is_signed_type() trigger sparse
> warnings for bitwise types. Despite that change, sparse complains when
> passing a bitwise type to is_signed_type(). It is not clear to me why.
>
> Follow the example of <trace/events/initcall.h> and suppress the following
> sparse warnings by changing __field() into __field_struct():
>
>  fs/nilfs2/segment.c: note: in included file (through
>    include/trace/trace_events.h, include/trace/define_trace.h,
>    include/trace/events/nilfs2.h):
>  ./include/trace/events/nilfs2.h:191:1: warning: cast to restricted
>    blk_opf_t
>  ./include/trace/events/nilfs2.h:191:1: warning: restricted blk_opf_t
>    degrades to integer
>  ./include/trace/events/nilfs2.h:191:1: warning: restricted blk_opf_t
>    degrades to integer
>
> Cc: Linus Torvalds <torvalds@linux-foundation.org>
> Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk>
> Cc: Ryusuke Konishi <konishi.ryusuke@gmail.com>
> Reported-by: Ryusuke Konishi <konishi.ryusuke@gmail.com>
> Closes: https://lore.kernel.org/all/20240430080019.4242-2-konishi.ryusuke@gmail.com/
> Signed-off-by: Bart Van Assche <bvanassche@acm.org>
> ---
>  include/trace/events/nilfs2.h | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/include/trace/events/nilfs2.h b/include/trace/events/nilfs2.h
> index 8efc6236f57c..8880c11733dd 100644
> --- a/include/trace/events/nilfs2.h
> +++ b/include/trace/events/nilfs2.h
> @@ -200,7 +200,11 @@ TRACE_EVENT(nilfs2_mdt_submit_block,
>                     __field(struct inode *, inode)
>                     __field(unsigned long, ino)
>                     __field(unsigned long, blkoff)
> -                   __field(enum req_op, mode)
> +                   /*
> +                    * Use field_struct() to avoid is_signed_type() on the
> +                    * bitwise type enum req_op.
> +                    */
> +                   __field_struct(enum req_op, mode)
>             ),
>
>             TP_fast_assign(

Bart, thank you very much for all your help.

This is a bit technical and may be debatable.  But this can actually
eliminate the sparse warnings.
So I'm thinking of having Andrew pick this up instead of my patch
currently pending in the mm tree.

If anyone has any objections, please let us know.


Thanks,
Ryusuke Konishi

  reply	other threads:[~2024-05-07  4:10 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-06 23:24 [PATCH] nilfs2: Use __field_struct() for a bitwise field Bart Van Assche
2024-05-07  4:10 ` Ryusuke Konishi [this message]
2024-05-07 12:55   ` Bart Van Assche
2024-05-07 16:01     ` Andrew Morton
2024-05-07 18:16       ` Bart Van Assche

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAKFNMokz-zJu95hu42YVC6P5VJCJq-DStPWHuWpOkHwiq_RduQ@mail.gmail.com \
    --to=konishi.ryusuke@gmail.com \
    --cc=bvanassche@acm.org \
    --cc=linux-nilfs@vger.kernel.org \
    --cc=linux@rasmusvillemoes.dk \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).