From: "Darrick J. Wong" <djwong@kernel.org>
To: Christoph Hellwig <hch@infradead.org>
Cc: "Gustavo A. R. Silva" <gustavoars@kernel.org>,
linux-xfs@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-hardening@vger.kernel.org
Subject: Re: [PATCH v4][next] xfs: Replace one-element arrays with flexible-array members
Date: Mon, 12 Apr 2021 08:48:08 -0700 [thread overview]
Message-ID: <20210412154808.GA1670408@magnolia> (raw)
In-Reply-To: <20210412152906.GA1075717@infradead.org>
On Mon, Apr 12, 2021 at 04:29:06PM +0100, Christoph Hellwig wrote:
> > Below are the results of running xfstests for "all" with the following
> > configuration in local.config:
>
> ...
>
> > Other tests might need to be run in order to verify everything is working
> > as expected. For such tests, the intervention of the maintainers might be
> > needed.
>
> This is a little weird for a commit log. If you want to show results
> this would be something that goes into a cover letter.
Agreed, please don't post fstests output in the commit message.
> > +/*
> > + * Calculates the size of structure xfs_efi_log_format followed by an
> > + * array of n number of efi_extents elements.
> > + */
> > +static inline size_t
> > +sizeof_efi_log_format(size_t n)
> > +{
> > + return struct_size((struct xfs_efi_log_format *)0, efi_extents, n);
>
> These helpers are completely silly. Just keep the existing open code
> version using sizeof with the one-off removed.
A couple of revisions ago I specifically asked Gustavo to create these
'silly' sizeof helpers to clean up...
> > - (sizeof(struct xfs_efd_log_item) +
> > - (XFS_EFD_MAX_FAST_EXTENTS - 1) *
> > - sizeof(struct xfs_extent)),
> > - 0, 0, NULL);
> > + struct_size((struct xfs_efd_log_item *)0,
> > + efd_format.efd_extents,
> > + XFS_EFD_MAX_FAST_EXTENTS),
...these even uglier multiline statements. I was also going to ask for
these kmem cache users to get cleaned up. I'd much rather look at:
xfs_efi_zone = kmem_cache_create("xfs_efi_item",
sizeof_xfs_efi(XFS_EFI_MAX_FAST_EXTENTS), 0);
if (!xfs_efi_zone)
goto the_drop_zone;
even if it means another static inline.
--D
> > + 0, 0, NULL);
> > if (!xfs_efd_zone)
> > goto out_destroy_buf_item_zone;
> >
> > xfs_efi_zone = kmem_cache_create("xfs_efi_item",
> > - (sizeof(struct xfs_efi_log_item) +
> > - (XFS_EFI_MAX_FAST_EXTENTS - 1) *
> > - sizeof(struct xfs_extent)),
> > + struct_size((struct xfs_efi_log_item *)0,
> > + efi_format.efi_extents,
> > + XFS_EFI_MAX_FAST_EXTENTS),
>
> Same here. And this obsfucated version also adds completely pointless
> overly long lines while making the code unreadable.
next prev parent reply other threads:[~2021-04-12 15:48 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-12 13:56 [PATCH v4][next] xfs: Replace one-element arrays with flexible-array members Gustavo A. R. Silva
2021-04-12 15:29 ` Christoph Hellwig
2021-04-12 15:36 ` Gustavo A. R. Silva
2021-04-12 15:48 ` Darrick J. Wong [this message]
2021-04-12 15:57 ` Gustavo A. R. Silva
2021-04-13 16:53 ` Christoph Hellwig
2021-07-14 9:27 ` Chen, Rong A
2021-07-15 5:33 ` Christoph Hellwig
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=20210412154808.GA1670408@magnolia \
--to=djwong@kernel.org \
--cc=gustavoars@kernel.org \
--cc=hch@infradead.org \
--cc=linux-hardening@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-xfs@vger.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.