All of lore.kernel.org
 help / color / mirror / Atom feed
From: Amir Goldstein <amir73il@gmail.com>
To: Brian Foster <bfoster@redhat.com>
Cc: fstests <fstests@vger.kernel.org>, linux-xfs <linux-xfs@vger.kernel.org>
Subject: Re: [PATCH v3 1/3] generic/455: use thin volume for dmlogwrites target device
Date: Tue, 1 Sep 2020 17:06:26 +0300	[thread overview]
Message-ID: <CAOQ4uxiEW9LmftT5a-4RPgqj3v29Z+1Y7m_ZKELHf+uAz6xueA@mail.gmail.com> (raw)
In-Reply-To: <20200901134728.185353-2-bfoster@redhat.com>

On Tue, Sep 1, 2020 at 4:48 PM Brian Foster <bfoster@redhat.com> wrote:
>
> dmlogwrites support for XFS depends on discard zeroing support of
> the intended target device. Update the test to use a thin volume and
> allow it to run consistently and reliably on XFS.
>
> Signed-off-by: Brian Foster <bfoster@redhat.com>
> ---
Reviewed-by: Amir Goldstein <amir73il@gmail.com>


>  tests/generic/455 | 36 ++++++++++++++++++++++--------------
>  1 file changed, 22 insertions(+), 14 deletions(-)
>
> diff --git a/tests/generic/455 b/tests/generic/455
> index 05621220..72a44fda 100755
> --- a/tests/generic/455
> +++ b/tests/generic/455
> @@ -16,12 +16,14 @@ status=1    # failure is the default!
>  _cleanup()
>  {
>         _log_writes_cleanup
> +       _dmthin_cleanup
>  }
>  trap "_cleanup; exit \$status" 0 1 2 3 15
>
>  # get standard environment, filters and checks
>  . ./common/rc
>  . ./common/filter
> +. ./common/dmthin
>  . ./common/dmlogwrites
>
>  # real QA test starts here
> @@ -30,6 +32,7 @@ _supported_os Linux
>  _require_test
>  _require_scratch_nocheck
>  _require_log_writes
> +_require_dm_target thin-pool
>
>  rm -f $seqres.full
>
> @@ -42,13 +45,12 @@ check_files()
>                 local filename=$(basename $i)
>                 local mark="${filename##*.}"
>                 echo "checking $filename" >> $seqres.full
> -               _log_writes_replay_log $filename $SCRATCH_DEV
> -               _scratch_mount
> +               _log_writes_replay_log $filename $DMTHIN_VOL_DEV
> +               _dmthin_mount
>                 local expected_md5=$(_md5_checksum $i)
>                 local md5=$(_md5_checksum $SCRATCH_MNT/$name)
>                 [ "${md5}" != "${expected_md5}" ] && _fail "$filename md5sum mismatched"
> -               _scratch_unmount
> -               _check_scratch_fs
> +               _dmthin_check_fs
>         done
>  }
>
> @@ -56,8 +58,16 @@ SANITY_DIR=$TEST_DIR/fsxtests
>  rm -rf $SANITY_DIR
>  mkdir $SANITY_DIR
>
> +devsize=$((1024*1024*200 / 512))        # 200m phys/virt size
> +csize=$((1024*64 / 512))                # 64k cluster size
> +lowspace=$((1024*1024 / 512))           # 1m low space threshold
> +
> +# Use a thin device to provide deterministic discard behavior. Discards are used
> +# by the log replay tool for fast zeroing to prevent out-of-order replay issues.
> +_dmthin_init $devsize $devsize $csize $lowspace
> +
>  # Create the log
> -_log_writes_init $SCRATCH_DEV
> +_log_writes_init $DMTHIN_VOL_DEV
>
>  _log_writes_mkfs >> $seqres.full 2>&1
>
> @@ -88,14 +98,13 @@ _log_writes_mark last
>  _log_writes_unmount
>  _log_writes_mark end
>  _log_writes_remove
> -_check_scratch_fs
> +_dmthin_check_fs
>
>  # check pre umount
>  echo "checking pre umount" >> $seqres.full
> -_log_writes_replay_log last $SCRATCH_DEV
> -_scratch_mount
> -_scratch_unmount
> -_check_scratch_fs
> +_log_writes_replay_log last $DMTHIN_VOL_DEV
> +_dmthin_mount
> +_dmthin_check_fs
>
>  for j in `seq 0 $((NUM_FILES-1))`; do
>         check_files testfile$j
> @@ -103,14 +112,13 @@ done
>
>  # Check the end
>  echo "checking post umount" >> $seqres.full
> -_log_writes_replay_log end $SCRATCH_DEV
> -_scratch_mount
> +_log_writes_replay_log end $DMTHIN_VOL_DEV
> +_dmthin_mount
>  for j in `seq 0 $((NUM_FILES-1))`; do
>         md5=$(_md5_checksum $SCRATCH_MNT/testfile$j)
>         [ "${md5}" != "${test_md5[$j]}" ] && _fail "testfile$j end md5sum mismatched"
>  done
> -_scratch_unmount
> -_check_scratch_fs
> +_dmthin_check_fs
>
>  echo "Silence is golden"
>  status=0
> --
> 2.25.4
>

  reply	other threads:[~2020-09-01 14:43 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-01 13:47 [PATCH v3 0/3] fix up generic dmlogwrites tests to work with XFS Brian Foster
2020-09-01 13:47 ` [PATCH v3 1/3] generic/455: use thin volume for dmlogwrites target device Brian Foster
2020-09-01 14:06   ` Amir Goldstein [this message]
2020-09-01 13:47 ` [PATCH v3 2/3] generic/457: " Brian Foster
2020-09-01 14:07   ` Amir Goldstein
2020-09-01 13:47 ` [PATCH v3 3/3] generic/470: " Brian Foster
2020-09-01 14:08   ` Amir Goldstein

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=CAOQ4uxiEW9LmftT5a-4RPgqj3v29Z+1Y7m_ZKELHf+uAz6xueA@mail.gmail.com \
    --to=amir73il@gmail.com \
    --cc=bfoster@redhat.com \
    --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 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.