From: Al Viro <viro@ZenIV.linux.org.uk> To: David Howells <dhowells@redhat.com> Cc: linux-api@vger.kernel.org, linux-kbuild@vger.kernel.org, Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>, linux-nilfs@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 07/11] UAPI: nilfs2: Fix use of undefined byteswapping functions Date: Wed, 5 Sep 2018 23:20:05 +0100 [thread overview] Message-ID: <20180905222005.GS19965@ZenIV.linux.org.uk> (raw) In-Reply-To: <153616292366.23468.14988166998690800938.stgit@warthog.procyon.org.uk> On Wed, Sep 05, 2018 at 04:55:23PM +0100, David Howells wrote: > nilfs_checkpoint_set_##name(struct nilfs_checkpoint *cp) \ > { \ > - cp->cp_flags = cpu_to_le32(le32_to_cpu(cp->cp_flags) | \ > + cp->cp_flags = __cpu_to_le32(__le32_to_cpu(cp->cp_flags) | \ > (1UL << NILFS_CHECKPOINT_##flag)); \ How about sanitiziung the damn thing to cp->cp_flags |= __cpu_to_le32(1UL << NILFS_CHECKPOINT_##flag)); while you are at it? Or, perhaps, even #define NILFS2_CP_FLAG(flag) __cpu_to_le32(1UL << NILFS_CHECKPOINT_##flag) and cp->cp_flags |= NILFS2_CP_FLAG(flag) for this one, > } \ > static inline void \ > nilfs_checkpoint_clear_##name(struct nilfs_checkpoint *cp) \ > { \ > - cp->cp_flags = cpu_to_le32(le32_to_cpu(cp->cp_flags) & \ > + cp->cp_flags = __cpu_to_le32(__le32_to_cpu(cp->cp_flags) & \ > ~(1UL << NILFS_CHECKPOINT_##flag)); \ cp->cp_flags &= ~NILFS2_CP_FLAG(flag); here > } \ > static inline int \ > nilfs_checkpoint_##name(const struct nilfs_checkpoint *cp) \ > { \ > - return !!(le32_to_cpu(cp->cp_flags) & \ > + return !!(__le32_to_cpu(cp->cp_flags) & \ > (1UL << NILFS_CHECKPOINT_##flag)); \ and !!(cp->cp_flags & NILFS2_CP_FLAG(flag) here? Or maybe even make the damn thing bool and lose the !! here... )> } > and similar for those: > @@ -595,20 +596,20 @@ enum { > static inline void \ > nilfs_segment_usage_set_##name(struct nilfs_segment_usage *su) \ > { \ > - su->su_flags = cpu_to_le32(le32_to_cpu(su->su_flags) | \ > + su->su_flags = __cpu_to_le32(__le32_to_cpu(su->su_flags) | \ > (1UL << NILFS_SEGMENT_USAGE_##flag));\ > } \ > static inline void \ > nilfs_segment_usage_clear_##name(struct nilfs_segment_usage *su) \ > { \ > su->su_flags = \ > - cpu_to_le32(le32_to_cpu(su->su_flags) & \ > + __cpu_to_le32(__le32_to_cpu(su->su_flags) & \ > ~(1UL << NILFS_SEGMENT_USAGE_##flag)); \ > } \ > static inline int \ > nilfs_segment_usage_##name(const struct nilfs_segment_usage *su) \ > { \ > - return !!(le32_to_cpu(su->su_flags) & \ > + return !!(__le32_to_cpu(su->su_flags) & \ > (1UL << NILFS_SEGMENT_USAGE_##flag)); \ > } > @@ -619,15 +620,15 @@ NILFS_SEGMENT_USAGE_FNS(ERROR, error) > static inline void > nilfs_segment_usage_set_clean(struct nilfs_segment_usage *su) > { > - su->su_lastmod = cpu_to_le64(0); > - su->su_nblocks = cpu_to_le32(0); > - su->su_flags = cpu_to_le32(0); > + su->su_lastmod = __cpu_to_le64(0); > + su->su_nblocks = __cpu_to_le32(0); > + su->su_flags = __cpu_to_le32(0); > } > > static inline int > nilfs_segment_usage_clean(const struct nilfs_segment_usage *su) > { > - return !le32_to_cpu(su->su_flags); > + return !__le32_to_cpu(su->su_flags); "Check that after byteswap it becomes 0", is it? How is that different from return !su->su_flags; ?
next prev parent reply other threads:[~2018-09-05 22:20 UTC|newest] Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-09-05 15:54 [RFC] UAPI: Check headers by compiling all together as C++ David Howells 2018-09-05 15:55 ` [PATCH 05/11] UAPI: coda: Don't use internal kernel structs in UAPI David Howells 2018-09-05 16:54 ` Jan Harkes 2018-09-05 17:12 ` Yann Droneaud 2018-09-05 17:28 ` Jan Harkes 2018-09-05 17:24 ` David Howells 2018-09-06 7:13 ` David Howells 2018-09-06 11:52 ` Yann Droneaud 2018-09-06 12:16 ` Jan Harkes 2018-09-06 14:53 ` David Howells 2018-09-05 15:55 ` [PATCH 07/11] UAPI: nilfs2: Fix use of undefined byteswapping functions David Howells 2018-09-05 22:20 ` Al Viro [this message] 2018-09-05 16:55 ` [RFC] UAPI: Check headers by compiling all together as C++ Greg KH 2018-09-05 17:33 ` Yann Droneaud 2018-09-05 17:42 ` Michael S. Tsirkin 2018-09-06 7:12 ` Yann Droneaud 2018-09-05 19:22 ` Jan Engelhardt 2018-09-05 17:50 ` David Howells
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=20180905222005.GS19965@ZenIV.linux.org.uk \ --to=viro@zeniv.linux.org.uk \ --cc=dhowells@redhat.com \ --cc=konishi.ryusuke@lab.ntt.co.jp \ --cc=linux-api@vger.kernel.org \ --cc=linux-fsdevel@vger.kernel.org \ --cc=linux-kbuild@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-nilfs@vger.kernel.org \ --subject='Re: [PATCH 07/11] UAPI: nilfs2: Fix use of undefined byteswapping functions' \ /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
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 NNTP newsgroup(s).