ltp.lists.linux.it archive mirror
 help / color / mirror / Atom feed
From: "Darrick J. Wong" <djwong@kernel.org>
To: Petr Vorel <pvorel@suse.cz>
Cc: linux-xfs@vger.kernel.org, automated-testing@yoctoproject.org,
	ltp@lists.linux.it, automated-testing@lists.yoctoproject.org
Subject: Re: [LTP] [RFC PATCH 1/1] API: Allow to use xfs filesystems < 300 MB
Date: Wed, 17 Aug 2022 16:59:48 -0700	[thread overview]
Message-ID: <Yv2A9Ggkv/NBrTd4@magnolia> (raw)
In-Reply-To: <20220817204015.31420-1-pvorel@suse.cz>

On Wed, Aug 17, 2022 at 10:40:15PM +0200, Petr Vorel wrote:
> mkfs.xfs since v5.19.0-rc1 [1] refuses to create filesystems < 300 MB.
> Reuse workaround intended for fstests: set 3 environment variables:
> export TEST_DIR=1 TEST_DEV=1 QA_CHECK_FS=1
> 
> Workaround added to both C API (for .needs_device) and shell API (for
> TST_NEEDS_DEVICE=1).
> 
> Fix includes any use of filesystem (C API: .all_filesystems,
> .format_device, shell API: TST_MOUNT_DEVICE=1, TST_FORMAT_DEVICE=1).
> 
> Fixes various C and shell API failures, e.g.:
> 
> ./mkfs01.sh -f xfs
> mkfs01 1 TINFO: timeout per run is 0h 5m 0s
> tst_device.c:89: TINFO: Found free device 0 '/dev/loop0'
> mkfs01 1 TFAIL: 'mkfs -t xfs  -f /dev/loop0 ' failed.
> Filesystem must be larger than 300MB.
> 
> ./creat09
> ...
> tst_test.c:1599: TINFO: Testing on xfs
> tst_test.c:1064: TINFO: Formatting /dev/loop0 with xfs opts='' extra opts=''
> Filesystem must be larger than 300MB.
> 
> Link: https://lore.kernel.org/all/164738662491.3191861.15611882856331908607.stgit@magnolia/
> 
> Reported-by: Martin Doucha <mdoucha@suse.cz>
> Signed-off-by: Petr Vorel <pvorel@suse.cz>
> ---
> Dave, please next time remember there are other testsuites testing XFS,

Dave?? <cough>

> not just fstests :). How long do you plan to keep this workaround?

Forever.  In the ideal world we'll some day get around to restructuring
all the xfstests that do tricky things with sub-500M filesystems, but
that's the unfortunate part of removing support for small disks.

Most of the fstests don't care about the fs size and so they'll run with
the configured storage (some tens or millions of gigabytes) so we're
mostly using the same fs sizes that users are expected to have.

> LTP community: do we want to depend on this behavior or we just increase from 256MB to 301 MB
> (either for XFS or for all). It might not be a good idea to test size users are required
> to use.

It might *not*? <confused>

--D

> 
> Kind regards,
> Petr
>  lib/tst_test.c            | 7 +++++++
>  testcases/lib/tst_test.sh | 6 +++++-
>  2 files changed, 12 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/tst_test.c b/lib/tst_test.c
> index 4b4dd125d..657348732 100644
> --- a/lib/tst_test.c
> +++ b/lib/tst_test.c
> @@ -1160,6 +1160,13 @@ static void do_setup(int argc, char *argv[])
>  	if (tst_test->all_filesystems)
>  		tst_test->needs_device = 1;
>  
> +	/* allow to use XFS filesystem < 300 MB */
> +	if (tst_test->needs_device) {
> +		putenv("TEST_DIR=1");
> +		putenv("TEST_DEV=1");
> +		putenv("QA_CHECK_FS=1");
> +	}
> +
>  	if (tst_test->min_cpus > (unsigned long)tst_ncpus())
>  		tst_brk(TCONF, "Test needs at least %lu CPUs online", tst_test->min_cpus);
>  
> diff --git a/testcases/lib/tst_test.sh b/testcases/lib/tst_test.sh
> index 24a3d29d8..b42e54ca1 100644
> --- a/testcases/lib/tst_test.sh
> +++ b/testcases/lib/tst_test.sh
> @@ -671,7 +671,11 @@ tst_run()
>  
>  	[ "$TST_MOUNT_DEVICE" = 1 ] && TST_FORMAT_DEVICE=1
>  	[ "$TST_FORMAT_DEVICE" = 1 ] && TST_NEEDS_DEVICE=1
> -	[ "$TST_NEEDS_DEVICE" = 1 ] && TST_NEEDS_TMPDIR=1
> +	if [ "$TST_NEEDS_DEVICE" = 1 ]; then
> +		TST_NEEDS_TMPDIR=1
> +		# allow to use XFS filesystem < 300 MB
> +		export TEST_DIR=1 TEST_DEV=1 QA_CHECK_FS=1
> +	fi
>  
>  	if [ "$TST_NEEDS_TMPDIR" = 1 ]; then
>  		if [ -z "$TMPDIR" ]; then
> -- 
> 2.37.1
> 

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

  reply	other threads:[~2022-08-18  0:00 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-17 20:40 [LTP] [RFC PATCH 1/1] API: Allow to use xfs filesystems < 300 MB Petr Vorel
2022-08-17 23:59 ` Darrick J. Wong [this message]
2022-08-18  5:08   ` Amir Goldstein
2022-08-18  9:45     ` Petr Vorel
2022-08-18  9:01   ` Petr Vorel
2022-08-18  9:53 ` Cyril Hrubis
2022-08-18 11:12   ` Petr Vorel
2022-08-18 11:30     ` Cyril Hrubis
2022-08-18 11:55       ` [LTP] [Automated-testing] " Geert Uytterhoeven
2022-08-19 19:28         ` Petr Vorel
2022-08-20  2:37           ` Li Wang
2022-08-22  9:36             ` Petr Vorel
2022-08-20  2:52   ` [LTP] " Li Wang
2022-08-24 10:21 ` Petr Vorel
2022-08-29  1:45   ` Li Wang
2024-04-03 14:24     ` Petr Vorel

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=Yv2A9Ggkv/NBrTd4@magnolia \
    --to=djwong@kernel.org \
    --cc=automated-testing@lists.yoctoproject.org \
    --cc=automated-testing@yoctoproject.org \
    --cc=linux-xfs@vger.kernel.org \
    --cc=ltp@lists.linux.it \
    --cc=pvorel@suse.cz \
    /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;
as well as URLs for NNTP newsgroup(s).