public inbox for linux-btrfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Josef Bacik <josef@toxicpanda.com>
To: Anand Jain <anand.jain@oracle.com>
Cc: fstests@vger.kernel.org, linux-btrfs@vger.kernel.org
Subject: Re: [PATCH 3/3] btrfs/249: test btrfs filesystem usage command on missing seed device
Date: Wed, 20 Oct 2021 09:53:09 -0400	[thread overview]
Message-ID: <YXAfRcmJ9oYj/kpe@localhost.localdomain> (raw)
In-Reply-To: <599618f8698efc64ef8e25e0cf1d97541927d8ac.1634713680.git.anand.jain@oracle.com>

On Wed, Oct 20, 2021 at 03:16:44PM +0800, Anand Jain wrote:
> If there is a missing seed device in a sprout, the btrfs filesystem usage
> command fails, which is fixed by the following patches:
> 
>   btrfs: sysfs add devinfo/fsid to retrieve fsid from the device
>   btrfs-progs: read fsid from the sysfs in device_is_seed
> 
> Test if it works now after these patches in the kernel and in the
> btrfs-progs respectively.
> 
> Suggested-by: Josef Bacik <josef@toxicpanda.com>
> Signed-off-by: Anand Jain <anand.jain@oracle.com>

Shouldn't this use


as well?  I wish there was a way to detect that btrfs-progs had support for
reading it but I suppose this is a good enough gate.  Maybe add a


> ---
>  tests/btrfs/249     | 67 +++++++++++++++++++++++++++++++++++++++++++++
>  tests/btrfs/249.out |  2 ++
>  2 files changed, 69 insertions(+)
>  create mode 100755 tests/btrfs/249
>  create mode 100644 tests/btrfs/249.out
> 
> diff --git a/tests/btrfs/249 b/tests/btrfs/249
> new file mode 100755
> index 000000000000..f8f2f07052c6
> --- /dev/null
> +++ b/tests/btrfs/249
> @@ -0,0 +1,67 @@
> +#! /bin/bash
> +# SPDX-License-Identifier: GPL-2.0
> +# Copyright (c) 2021 Anand Jain.  All Rights Reserved.
> +# Copyright (c) 2021 Oracle.  All Rights Reserved.
> +#
> +# FS QA Test 249
> +#
> +# Validate if the command 'btrfs filesystem usage' works with missing seed
> +# device
> +# Steps:
> +#  Create a degraded raid1 seed device
> +#  Create a sprout filesystem (an rw device on top of a seed device)
> +#  Dump 'btrfs filesystem usage', check it didn't fail
> +#
> +# Tests btrfs-progs bug fixed by the kernel patch and a btrfs-prog patch
> +#   btrfs: sysfs add devinfo/fsid to retrieve fsid from the device
> +#   btrfs-progs: read fsid from the sysfs in device_is_seed
> +
> +. ./common/preamble
> +_begin_fstest auto quick seed volume
> +
> +# Import common functions.
> +# . ./common/filter
> +
> +# real QA test starts here
> +
> +# Modify as appropriate.
> +_supported_fs btrfs
> +_require_scratch_dev_pool 3
> +_require_command "$WIPEFS_PROG" wipefs
> +_require_btrfs_forget_or_module_loadable

Need

_require_btrfs_sysfs_fsid

here I think.

> +
> +_scratch_dev_pool_get 2
> +# use the scratch devices as seed devices
> +seed_dev1=$(echo $SCRATCH_DEV_POOL | $AWK_PROG '{ print $1 }')
> +seed_dev2=$(echo $SCRATCH_DEV_POOL | $AWK_PROG '{ print $2 }')
> +
> +# use the spare device as a sprout device
> +_spare_dev_get
> +sprout_dev=$SPARE_DEV
> +
> +# create raid1 seed filesystem
> +_scratch_pool_mkfs "-draid1 -mraid1" >> $seqres.full 2>&1
> +$BTRFS_TUNE_PROG -S 1 $seed_dev1
> +$WIPEFS_PROG -a $seed_dev1 >> $seqres.full 2>&1
> +_btrfs_forget_or_module_reload
> +_mount -o degraded $seed_dev2 $SCRATCH_MNT >> $seqres.full 2>&1
> +
> +# create a sprout device
> +$BTRFS_UTIL_PROG device add -f $SPARE_DEV $SCRATCH_MNT >> $seqres.full 2>&1
> +
> +# dump filesystem usage if it fails error goes to the bad.out file
> +$BTRFS_UTIL_PROG filesystem usage $SCRATCH_MNT >> $seqres.full
> +# also check for the error code
> +ret=$?
> +if [ $ret != 0 ]; then
> +	_fail "FAILED: btrfs filesystem usage, ret $ret"

Can you add "check your btrfs-progs version" here or something?  In case I'm an
idiot and forget to update btrfs-progs on the overnight xfstests boxes?  Thanks,

Josef

  reply	other threads:[~2021-10-20 13:53 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-20  7:16 [PATCH 0/3] fstests: btrfs validate sysfs fsid and usage Anand Jain
2021-10-20  7:16 ` [PATCH 1/3] common/btrfs: add _require_btrfs_sysfs_fsid helper Anand Jain
2021-10-20  7:16 ` [PATCH 2/3] btrfs/248: validate sysfs fsid Anand Jain
2021-10-20  7:16 ` [PATCH 3/3] btrfs/249: test btrfs filesystem usage command on missing seed device Anand Jain
2021-10-20 13:53   ` Josef Bacik [this message]
2021-10-20 14:58     ` Anand Jain
2021-10-20 18:44       ` Josef Bacik
2021-10-20 18:45 ` [PATCH 0/3] fstests: btrfs validate sysfs fsid and usage Josef Bacik

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=YXAfRcmJ9oYj/kpe@localhost.localdomain \
    --to=josef@toxicpanda.com \
    --cc=anand.jain@oracle.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox