FS/XFS testing framework
 help / color / mirror / Atom feed
From: Zorro Lang <zlang@redhat.com>
To: "Darrick J. Wong" <djwong@kernel.org>
Cc: linux-xfs@vger.kernel.org, fstests@vger.kernel.org
Subject: Re: [PATCH 1/1] xfs/122: fix EFI/EFD log format structure size after flex array conversion
Date: Thu, 22 Dec 2022 15:19:00 +0800	[thread overview]
Message-ID: <20221222071900.dngksnsq374c5cdj@zlang-mailbox> (raw)
In-Reply-To: <167158210207.235360.12388823078640206103.stgit@magnolia>

On Tue, Dec 20, 2022 at 04:21:42PM -0800, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@kernel.org>
> 
> Adjust this test since made EFI/EFD log item format structs proper flex
> arrays instead of array[1].
> 
> This adjustment was made to the kernel source tree as part of a project
> to make the use of flex arrays more consistent throughout the kernel.
> Converting array[1] and array[0] to array[] also avoids bugs in various
> compiler ports that mishandle the array size computation.  Prior to the
> introduction of xfs_ondisk.h, these miscomputations resulted in kernels
> that would silently write out filesystem structures that would then not
> be recognized by more mainstream systems (e.g.  x86).
> 
> OFC nearly all those reports about buggy compilers are for tiny
> architectures that XFS doesn't work well on anyways, so in practice it
> hasn't created any user problems (AFAIK).
> 
> Signed-off-by: Darrick J. Wong <djwong@kernel.org>
> ---

This version looks good to me, thanks for all these detailed information!

Reviewed-by: Zorro Lang <zlang@redhat.com>

>  common/rc         |   15 +++++++++++++++
>  tests/xfs/122     |    5 +++++
>  tests/xfs/122.out |    8 ++++----
>  3 files changed, 24 insertions(+), 4 deletions(-)
> 
> 
> diff --git a/common/rc b/common/rc
> index 8060c03b7d..67bd74dc89 100644
> --- a/common/rc
> +++ b/common/rc
> @@ -1502,6 +1502,21 @@ _fixed_by_kernel_commit()
>  	_fixed_by_git_commit kernel $*
>  }
>  

I'd like to give some comments to the new _wants_* helpers when I merge
it (don't need send a new version again: ), to help others know the
different usage of _wants_* and _fixed_by_*. How about below comment:

# Compare with _fixed_by_* helpers, this helper is used for un-regression
# test case, e.g. xfs/122. Or a case would like to mention a git commit
# which is not a bug fix (maybe a default behavior/format change). Then
# use this helpers.

> +_wants_git_commit()
> +{
> +	local pkg=$1
> +	shift
> +
> +	echo "This test wants $pkg fix:" >> $seqres.hints
> +	echo "      $*" >> $seqres.hints
> +	echo >> $seqres.hints
> +}
> +

# Refer to _wants_git_commit

Feel free to make it better :)

Thanks,
Zorro

> +_wants_kernel_commit()
> +{
> +	_wants_git_commit kernel $*
> +}
> +
>  _check_if_dev_already_mounted()
>  {
>  	local dev=$1
> diff --git a/tests/xfs/122 b/tests/xfs/122
> index 91083d6036..e616f1987d 100755
> --- a/tests/xfs/122
> +++ b/tests/xfs/122
> @@ -17,6 +17,11 @@ _begin_fstest other auto quick clone realtime
>  _supported_fs xfs
>  _require_command "$INDENT_PROG" indent
>  
> +# Starting in Linux 6.1, the EFI log formats were adjusted away from using
> +# single-element arrays as flex arrays.
> +_wants_kernel_commit 03a7485cd701 \
> +	"xfs: fix memcpy fortify errors in EFI log format copying"
> +
>  # filter out known changes to xfs type sizes
>  _type_size_filter()
>  {
> diff --git a/tests/xfs/122.out b/tests/xfs/122.out
> index a56cbee84f..95e53c5081 100644
> --- a/tests/xfs/122.out
> +++ b/tests/xfs/122.out
> @@ -161,10 +161,10 @@ sizeof(xfs_disk_dquot_t) = 104
>  sizeof(xfs_dq_logformat_t) = 24
>  sizeof(xfs_dqblk_t) = 136
>  sizeof(xfs_dsb_t) = 264
> -sizeof(xfs_efd_log_format_32_t) = 28
> -sizeof(xfs_efd_log_format_64_t) = 32
> -sizeof(xfs_efi_log_format_32_t) = 28
> -sizeof(xfs_efi_log_format_64_t) = 32
> +sizeof(xfs_efd_log_format_32_t) = 16
> +sizeof(xfs_efd_log_format_64_t) = 16
> +sizeof(xfs_efi_log_format_32_t) = 16
> +sizeof(xfs_efi_log_format_64_t) = 16
>  sizeof(xfs_error_injection_t) = 8
>  sizeof(xfs_exntfmt_t) = 4
>  sizeof(xfs_exntst_t) = 4
> 


  reply	other threads:[~2022-12-22  7:20 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-21  0:21 [PATCHSET 0/1] fstests: fix tests for kernel 6.1 Darrick J. Wong
2022-12-21  0:21 ` [PATCH 1/1] xfs/122: fix EFI/EFD log format structure size after flex array conversion Darrick J. Wong
2022-12-22  7:19   ` Zorro Lang [this message]
2022-12-22 18:38     ` Darrick J. Wong
  -- strict thread matches above, loose matches on Subject: below --
2022-12-13 19:45 [PATCHSET 0/1] fstests: fix tests for kernel 6.1 Darrick J. Wong
2022-12-13 19:45 ` [PATCH 1/1] xfs/122: fix EFI/EFD log format structure size after flex array conversion Darrick J. Wong
2022-12-14 18:40   ` Zorro Lang
2022-12-17  8:14     ` Darrick J. Wong
2022-12-17 10:00       ` Zorro Lang
2022-12-19 17:14         ` Darrick J. Wong
2022-12-19 19:01           ` Zorro Lang

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=20221222071900.dngksnsq374c5cdj@zlang-mailbox \
    --to=zlang@redhat.com \
    --cc=djwong@kernel.org \
    --cc=fstests@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox