From: Josef Bacik <jbacik@fb.com>
To: Eryu Guan <eguan@redhat.com>, fstests@vger.kernel.org
Cc: linux-btrfs@vger.kernel.org
Subject: Re: [PATCH v4 02/15] btrfs: new test to run btrfs balance and scrub simultaneously
Date: Mon, 29 Sep 2014 15:04:36 -0400 [thread overview]
Message-ID: <5429AD44.4090402@fb.com> (raw)
In-Reply-To: <1411704901-12723-3-git-send-email-eguan@redhat.com>
On 09/26/2014 12:14 AM, Eryu Guan wrote:
> Run btrfs balance and scrub operations simultaneously with fsstress
> running in background.
>
> Signed-off-by: Eryu Guan <eguan@redhat.com>
> ---
> common/rc | 9 +++++
> tests/btrfs/060 | 114 ++++++++++++++++++++++++++++++++++++++++++++++++++++
> tests/btrfs/060.out | 2 +
> tests/btrfs/group | 1 +
> 4 files changed, 126 insertions(+)
> create mode 100755 tests/btrfs/060
> create mode 100644 tests/btrfs/060.out
>
> diff --git a/common/rc b/common/rc
> index 2393c4b..d1dec8a 100644
> --- a/common/rc
> +++ b/common/rc
> @@ -2591,6 +2591,15 @@ _btrfs_stress_subvolume()
> done
> }
>
> +# stress btrfs by running scrub in a loop
> +_btrfs_stress_scrub()
> +{
> + local btrfs_mnt=$1
> + while true; do
> + $BTRFS_UTIL_PROG scrub start -B $btrfs_mnt
> + done
> +}
> +
> init_rc()
> {
> if [ "$iam" == new ]
> diff --git a/tests/btrfs/060 b/tests/btrfs/060
> new file mode 100755
> index 0000000..b270c7b
> --- /dev/null
> +++ b/tests/btrfs/060
> @@ -0,0 +1,114 @@
> +#! /bin/bash
> +# FSQA Test No. btrfs/060
> +#
> +# Run btrfs balance and scrub operations simultaneously with fsstress
> +# running in background.
> +#
> +#-----------------------------------------------------------------------
> +# Copyright (C) 2014 Red Hat Inc. All rights reserved.
> +#
> +# This program is free software; you can redistribute it and/or
> +# modify it under the terms of the GNU General Public License as
> +# published by the Free Software Foundation.
> +#
> +# This program is distributed in the hope that it would be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> +# GNU General Public License for more details.
> +#
> +# You should have received a copy of the GNU General Public License
> +# along with this program; if not, write the Free Software Foundation,
> +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
> +#
> +#-----------------------------------------------------------------------
> +#
> +
> +seq=`basename $0`
> +seqres=$RESULT_DIR/$seq
> +echo "QA output created by $seq"
> +
> +here=`pwd`
> +tmp=/tmp/$$
> +status=1
> +trap "_cleanup; exit \$status" 0 1 2 3 15
> +
> +_cleanup()
> +{
> + cd /
> + rm -f $tmp.*
> +}
> +
> +# get standard environment, filters and checks
> +. ./common/rc
> +. ./common/filter
> +
> +# real QA test starts here
> +_supported_fs btrfs
> +_supported_os Linux
> +# we check scratch dev after each loop
> +_require_scratch_nocheck
> +_require_scratch_dev_pool 4
> +_btrfs_get_profile_configs
> +
> +rm -f $seqres.full
> +
> +run_test()
> +{
> + local mkfs_opts=$1
> +
> + echo "Test $mkfs_opts" >>$seqres.full
> +
> + _scratch_pool_mkfs $mkfs_opts >>$seqres.full 2>&1
> + # make sure we created btrfs with desired options
> + if [ $? -ne 0 ]; then
> + echo "mkfs $mkfs_opts failed"
> + return
> + fi
> + _scratch_mount >>$seqres.full 2>&1
> +
> + args=`_scale_fsstress_args -p 20 -n 100 $FSSTRESS_AVOID -d $SCRATCH_MNT/stressdir`
> + echo "Run fsstress $args" >>$seqres.full
> + $FSSTRESS_PROG $args >/dev/null 2>&1 &
> + fsstress_pid=$!
> +
> + echo -n "Start balance worker: " >>$seqres.full
> + _btrfs_stress_balance $SCRATCH_MNT >/dev/null 2>&1 &
> + balance_pid=$!
> + echo "$balance_pid" >>$seqres.full
> +
> + echo -n "Start scrub worker: " >>$seqres.full
> + _btrfs_stress_scrub $SCRATCH_MNT >/dev/null 2>&1 &
> + scrub_pid=$!
> + echo "$scrub_pid" >>$seqres.full
> +
> + echo "Wait for fsstress to exit and kill all background workers" >>$seqres.full
> + wait $fsstress_pid
> + kill $balance_pid $scrub_pid
> + wait
> + # wait for the balance and scrub operations to finish
> + while ps aux | grep "balance start" | grep -qv grep; do
> + sleep 1
> + done
> + while ps aux | grep "scrub start" | grep -qv grep; do
> + sleep 1
> + done
I'm just going to point this out here again and assume that it applies
for every other patch in this series. Thanks,
Josef
WARNING: multiple messages have this Message-ID (diff)
From: Josef Bacik <jbacik@fb.com>
To: Eryu Guan <eguan@redhat.com>, <fstests@vger.kernel.org>
Cc: <linux-btrfs@vger.kernel.org>
Subject: Re: [PATCH v4 02/15] btrfs: new test to run btrfs balance and scrub simultaneously
Date: Mon, 29 Sep 2014 15:04:36 -0400 [thread overview]
Message-ID: <5429AD44.4090402@fb.com> (raw)
In-Reply-To: <1411704901-12723-3-git-send-email-eguan@redhat.com>
On 09/26/2014 12:14 AM, Eryu Guan wrote:
> Run btrfs balance and scrub operations simultaneously with fsstress
> running in background.
>
> Signed-off-by: Eryu Guan <eguan@redhat.com>
> ---
> common/rc | 9 +++++
> tests/btrfs/060 | 114 ++++++++++++++++++++++++++++++++++++++++++++++++++++
> tests/btrfs/060.out | 2 +
> tests/btrfs/group | 1 +
> 4 files changed, 126 insertions(+)
> create mode 100755 tests/btrfs/060
> create mode 100644 tests/btrfs/060.out
>
> diff --git a/common/rc b/common/rc
> index 2393c4b..d1dec8a 100644
> --- a/common/rc
> +++ b/common/rc
> @@ -2591,6 +2591,15 @@ _btrfs_stress_subvolume()
> done
> }
>
> +# stress btrfs by running scrub in a loop
> +_btrfs_stress_scrub()
> +{
> + local btrfs_mnt=$1
> + while true; do
> + $BTRFS_UTIL_PROG scrub start -B $btrfs_mnt
> + done
> +}
> +
> init_rc()
> {
> if [ "$iam" == new ]
> diff --git a/tests/btrfs/060 b/tests/btrfs/060
> new file mode 100755
> index 0000000..b270c7b
> --- /dev/null
> +++ b/tests/btrfs/060
> @@ -0,0 +1,114 @@
> +#! /bin/bash
> +# FSQA Test No. btrfs/060
> +#
> +# Run btrfs balance and scrub operations simultaneously with fsstress
> +# running in background.
> +#
> +#-----------------------------------------------------------------------
> +# Copyright (C) 2014 Red Hat Inc. All rights reserved.
> +#
> +# This program is free software; you can redistribute it and/or
> +# modify it under the terms of the GNU General Public License as
> +# published by the Free Software Foundation.
> +#
> +# This program is distributed in the hope that it would be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> +# GNU General Public License for more details.
> +#
> +# You should have received a copy of the GNU General Public License
> +# along with this program; if not, write the Free Software Foundation,
> +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
> +#
> +#-----------------------------------------------------------------------
> +#
> +
> +seq=`basename $0`
> +seqres=$RESULT_DIR/$seq
> +echo "QA output created by $seq"
> +
> +here=`pwd`
> +tmp=/tmp/$$
> +status=1
> +trap "_cleanup; exit \$status" 0 1 2 3 15
> +
> +_cleanup()
> +{
> + cd /
> + rm -f $tmp.*
> +}
> +
> +# get standard environment, filters and checks
> +. ./common/rc
> +. ./common/filter
> +
> +# real QA test starts here
> +_supported_fs btrfs
> +_supported_os Linux
> +# we check scratch dev after each loop
> +_require_scratch_nocheck
> +_require_scratch_dev_pool 4
> +_btrfs_get_profile_configs
> +
> +rm -f $seqres.full
> +
> +run_test()
> +{
> + local mkfs_opts=$1
> +
> + echo "Test $mkfs_opts" >>$seqres.full
> +
> + _scratch_pool_mkfs $mkfs_opts >>$seqres.full 2>&1
> + # make sure we created btrfs with desired options
> + if [ $? -ne 0 ]; then
> + echo "mkfs $mkfs_opts failed"
> + return
> + fi
> + _scratch_mount >>$seqres.full 2>&1
> +
> + args=`_scale_fsstress_args -p 20 -n 100 $FSSTRESS_AVOID -d $SCRATCH_MNT/stressdir`
> + echo "Run fsstress $args" >>$seqres.full
> + $FSSTRESS_PROG $args >/dev/null 2>&1 &
> + fsstress_pid=$!
> +
> + echo -n "Start balance worker: " >>$seqres.full
> + _btrfs_stress_balance $SCRATCH_MNT >/dev/null 2>&1 &
> + balance_pid=$!
> + echo "$balance_pid" >>$seqres.full
> +
> + echo -n "Start scrub worker: " >>$seqres.full
> + _btrfs_stress_scrub $SCRATCH_MNT >/dev/null 2>&1 &
> + scrub_pid=$!
> + echo "$scrub_pid" >>$seqres.full
> +
> + echo "Wait for fsstress to exit and kill all background workers" >>$seqres.full
> + wait $fsstress_pid
> + kill $balance_pid $scrub_pid
> + wait
> + # wait for the balance and scrub operations to finish
> + while ps aux | grep "balance start" | grep -qv grep; do
> + sleep 1
> + done
> + while ps aux | grep "scrub start" | grep -qv grep; do
> + sleep 1
> + done
I'm just going to point this out here again and assume that it applies
for every other patch in this series. Thanks,
Josef
next prev parent reply other threads:[~2014-09-29 19:04 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-26 4:14 [PATCH v4 00/15] xfstests: new btrfs stress test cases Eryu Guan
2014-09-26 4:14 ` [PATCH v4 01/15] btrfs: new test to run btrfs balance and subvolume test simultaneously Eryu Guan
2014-09-29 19:03 ` Josef Bacik
2014-09-29 19:03 ` Josef Bacik
2014-09-30 15:48 ` Eryu Guan
2014-09-30 15:54 ` Josef Bacik
2014-09-30 15:54 ` Josef Bacik
2014-09-30 16:08 ` Eryu Guan
2014-09-30 16:43 ` Josef Bacik
2014-09-30 16:43 ` Josef Bacik
2014-09-26 4:14 ` [PATCH v4 02/15] btrfs: new test to run btrfs balance and scrub simultaneously Eryu Guan
2014-09-29 19:04 ` Josef Bacik [this message]
2014-09-29 19:04 ` Josef Bacik
2014-09-26 4:14 ` [PATCH v4 03/15] btrfs: new test to run btrfs balance and defrag operations simultaneously Eryu Guan
2014-09-26 4:14 ` [PATCH v4 04/15] btrfs: new case to run btrfs balance and remount with different compress algorithms Eryu Guan
2014-09-26 4:14 ` [PATCH v4 05/15] btrfs: new case to run btrfs balance and device replace operations simultaneously Eryu Guan
2014-09-26 4:14 ` [PATCH v4 06/15] btrfs: new case to run btrfs subvolume create/delete operations and device replace simultaneously Eryu Guan
2014-09-26 4:14 ` [PATCH v4 07/15] btrfs: new case to run btrfs subvolume create/delete operations and scrub simultaneously Eryu Guan
2014-09-26 4:14 ` [PATCH v4 08/15] btrfs: new case to run btrfs subvolume create/delete and defrag operations simultaneously Eryu Guan
2014-09-26 4:14 ` [PATCH v4 09/15] btrfs: new case to run subvolume create/delete and remount with defferent compress algorithms Eryu Guan
2014-09-26 4:14 ` [PATCH v4 10/15] btrfs: new case to run device replace and scrub operations simultaneously Eryu Guan
2014-09-26 4:14 ` [PATCH v4 11/15] btrfs: new case to run device replace and defrag " Eryu Guan
2014-09-26 4:14 ` [PATCH v4 12/15] btrfs: new case to run device replace and remount with different compress algorithms simultaneously Eryu Guan
2014-09-26 4:14 ` [PATCH v4 13/15] btrfs: new case to run btrfs scrub and defrag operations simultaneously Eryu Guan
2014-09-26 4:15 ` [PATCH v4 14/15] btrfs: new case to run btrfs scrub and remount with different compress algorithms simultaneously Eryu Guan
2014-09-26 4:15 ` [PATCH v4 15/15] btrfs: new case to run defrag " Eryu Guan
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=5429AD44.4090402@fb.com \
--to=jbacik@fb.com \
--cc=eguan@redhat.com \
--cc=fstests@vger.kernel.org \
--cc=linux-btrfs@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.