diff mbox series

[1/3] generic: test xattr operations only

Message ID 162743102476.3428896.4543035331031604848.stgit@magnolia (mailing list archive)
State Accepted
Headers show
Series fstests: exercise code refactored in 5.14 | expand

Commit Message

Darrick J. Wong July 28, 2021, 12:10 a.m. UTC
From: Darrick J. Wong <djwong@kernel.org>

Exercise extended attribute operations.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
---
 tests/generic/724     |   57 +++++++++++++++++++++++++++++++++++++++++++++++++
 tests/generic/724.out |    2 ++
 2 files changed, 59 insertions(+)
 create mode 100755 tests/generic/724
 create mode 100644 tests/generic/724.out

Comments

Zorro Lang Aug. 12, 2021, 5:34 a.m. UTC | #1
On Tue, Jul 27, 2021 at 05:10:24PM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@kernel.org>
> 
> Exercise extended attribute operations.
> 
> Signed-off-by: Darrick J. Wong <djwong@kernel.org>
> ---
>  tests/generic/724     |   57 +++++++++++++++++++++++++++++++++++++++++++++++++
>  tests/generic/724.out |    2 ++
>  2 files changed, 59 insertions(+)
>  create mode 100755 tests/generic/724
>  create mode 100644 tests/generic/724.out
> 
> 
> diff --git a/tests/generic/724 b/tests/generic/724
> new file mode 100755
> index 00000000..b19f8f73
> --- /dev/null
> +++ b/tests/generic/724
> @@ -0,0 +1,57 @@
> +#! /bin/bash
> +# SPDX-License-Identifier: GPL-2.0
> +# Copyright (c) 2021 Oracle, Inc.  All Rights Reserved.
> +#
> +# FS QA Test No. 724
> +#
> +# Run an extended attributes fsstress run with multiple threads to shake out
> +# bugs in the xattr code.
> +#
> +. ./common/preamble
> +_begin_fstest soak attr long_rw stress

Should we add this test into 'auto' group too?

> +
> +_cleanup()
> +{
> +	$KILLALL_PROG -9 fsstress > /dev/null 2>&1

Can a "wait" command help more at here?

Others looks good to me.

Thanks,
Zorro

> +	cd /
> +	rm -f $tmp.*
> +}
> +
> +# Modify as appropriate.
> +_supported_fs generic
> +
> +_require_scratch
> +_require_command "$KILLALL_PROG" "killall"
> +
> +echo "Silence is golden."
> +
> +_scratch_mkfs > $seqres.full 2>&1
> +_scratch_mount >> $seqres.full 2>&1
> +
> +nr_cpus=$((LOAD_FACTOR * 4))
> +nr_ops=$((70000 * nr_cpus * TIME_FACTOR))
> +
> +args=('-z' '-S' 'c')
> +
> +# Do some directory tree modifications, but the bulk of this is geared towards
> +# exercising the xattr code, especially attr_set which can do up to 10k values.
> +for verb in unlink rmdir; do
> +	args+=('-f' "${verb}=1")
> +done
> +for verb in creat mkdir; do
> +	args+=('-f' "${verb}=2")
> +done
> +for verb in getfattr listfattr; do
> +	args+=('-f' "${verb}=3")
> +done
> +for verb in attr_remove removefattr; do
> +	args+=('-f' "${verb}=4")
> +done
> +args+=('-f' "setfattr=20")
> +args+=('-f' "attr_set=60")	# sets larger xattrs
> +
> +$FSSTRESS_PROG "${args[@]}" $FSSTRESS_AVOID -d $SCRATCH_MNT -n $nr_ops -p $nr_cpus >> $seqres.full
> +
> +# success, all done
> +status=0
> +exit
> diff --git a/tests/generic/724.out b/tests/generic/724.out
> new file mode 100644
> index 00000000..164cfffb
> --- /dev/null
> +++ b/tests/generic/724.out
> @@ -0,0 +1,2 @@
> +QA output created by 724
> +Silence is golden.
>
Darrick J. Wong Aug. 12, 2021, 5:04 p.m. UTC | #2
On Thu, Aug 12, 2021 at 01:34:52PM +0800, Zorro Lang wrote:
> On Tue, Jul 27, 2021 at 05:10:24PM -0700, Darrick J. Wong wrote:
> > From: Darrick J. Wong <djwong@kernel.org>
> > 
> > Exercise extended attribute operations.
> > 
> > Signed-off-by: Darrick J. Wong <djwong@kernel.org>
> > ---
> >  tests/generic/724     |   57 +++++++++++++++++++++++++++++++++++++++++++++++++
> >  tests/generic/724.out |    2 ++
> >  2 files changed, 59 insertions(+)
> >  create mode 100755 tests/generic/724
> >  create mode 100644 tests/generic/724.out
> > 
> > 
> > diff --git a/tests/generic/724 b/tests/generic/724
> > new file mode 100755
> > index 00000000..b19f8f73
> > --- /dev/null
> > +++ b/tests/generic/724
> > @@ -0,0 +1,57 @@
> > +#! /bin/bash
> > +# SPDX-License-Identifier: GPL-2.0
> > +# Copyright (c) 2021 Oracle, Inc.  All Rights Reserved.
> > +#
> > +# FS QA Test No. 724
> > +#
> > +# Run an extended attributes fsstress run with multiple threads to shake out
> > +# bugs in the xattr code.
> > +#
> > +. ./common/preamble
> > +_begin_fstest soak attr long_rw stress
> 
> Should we add this test into 'auto' group too?

Yes, fixed.

> > +
> > +_cleanup()
> > +{
> > +	$KILLALL_PROG -9 fsstress > /dev/null 2>&1
> 
> Can a "wait" command help more at here?

Ok, I"ll add that.

--D

> Others looks good to me.
> 
> Thanks,
> Zorro
> 
> > +	cd /
> > +	rm -f $tmp.*
> > +}
> > +
> > +# Modify as appropriate.
> > +_supported_fs generic
> > +
> > +_require_scratch
> > +_require_command "$KILLALL_PROG" "killall"
> > +
> > +echo "Silence is golden."
> > +
> > +_scratch_mkfs > $seqres.full 2>&1
> > +_scratch_mount >> $seqres.full 2>&1
> > +
> > +nr_cpus=$((LOAD_FACTOR * 4))
> > +nr_ops=$((70000 * nr_cpus * TIME_FACTOR))
> > +
> > +args=('-z' '-S' 'c')
> > +
> > +# Do some directory tree modifications, but the bulk of this is geared towards
> > +# exercising the xattr code, especially attr_set which can do up to 10k values.
> > +for verb in unlink rmdir; do
> > +	args+=('-f' "${verb}=1")
> > +done
> > +for verb in creat mkdir; do
> > +	args+=('-f' "${verb}=2")
> > +done
> > +for verb in getfattr listfattr; do
> > +	args+=('-f' "${verb}=3")
> > +done
> > +for verb in attr_remove removefattr; do
> > +	args+=('-f' "${verb}=4")
> > +done
> > +args+=('-f' "setfattr=20")
> > +args+=('-f' "attr_set=60")	# sets larger xattrs
> > +
> > +$FSSTRESS_PROG "${args[@]}" $FSSTRESS_AVOID -d $SCRATCH_MNT -n $nr_ops -p $nr_cpus >> $seqres.full
> > +
> > +# success, all done
> > +status=0
> > +exit
> > diff --git a/tests/generic/724.out b/tests/generic/724.out
> > new file mode 100644
> > index 00000000..164cfffb
> > --- /dev/null
> > +++ b/tests/generic/724.out
> > @@ -0,0 +1,2 @@
> > +QA output created by 724
> > +Silence is golden.
> > 
>
Eryu Guan Aug. 15, 2021, 3:46 p.m. UTC | #3
On Thu, Aug 12, 2021 at 10:04:53AM -0700, Darrick J. Wong wrote:
> On Thu, Aug 12, 2021 at 01:34:52PM +0800, Zorro Lang wrote:
> > On Tue, Jul 27, 2021 at 05:10:24PM -0700, Darrick J. Wong wrote:
> > > From: Darrick J. Wong <djwong@kernel.org>
> > > 
> > > Exercise extended attribute operations.
> > > 
> > > Signed-off-by: Darrick J. Wong <djwong@kernel.org>
> > > ---
> > >  tests/generic/724     |   57 +++++++++++++++++++++++++++++++++++++++++++++++++
> > >  tests/generic/724.out |    2 ++
> > >  2 files changed, 59 insertions(+)
> > >  create mode 100755 tests/generic/724
> > >  create mode 100644 tests/generic/724.out
> > > 
> > > 
> > > diff --git a/tests/generic/724 b/tests/generic/724
> > > new file mode 100755
> > > index 00000000..b19f8f73
> > > --- /dev/null
> > > +++ b/tests/generic/724
> > > @@ -0,0 +1,57 @@
> > > +#! /bin/bash
> > > +# SPDX-License-Identifier: GPL-2.0
> > > +# Copyright (c) 2021 Oracle, Inc.  All Rights Reserved.
> > > +#
> > > +# FS QA Test No. 724
> > > +#
> > > +# Run an extended attributes fsstress run with multiple threads to shake out
> > > +# bugs in the xattr code.
> > > +#
> > > +. ./common/preamble
> > > +_begin_fstest soak attr long_rw stress
> > 
> > Should we add this test into 'auto' group too?
> 
> Yes, fixed.

I can fix that on commit.

> 
> > > +
> > > +_cleanup()
> > > +{
> > > +	$KILLALL_PROG -9 fsstress > /dev/null 2>&1
> > 
> > Can a "wait" command help more at here?

There's no background process in this test, so it seems 'wait' won't
do anything.

Thanks,
Eryu

> 
> Ok, I"ll add that.
> 
> --D
> 
> > Others looks good to me.
> > 
> > Thanks,
> > Zorro
> > 
> > > +	cd /
> > > +	rm -f $tmp.*
> > > +}
> > > +
> > > +# Modify as appropriate.
> > > +_supported_fs generic
> > > +
> > > +_require_scratch
> > > +_require_command "$KILLALL_PROG" "killall"
> > > +
> > > +echo "Silence is golden."
> > > +
> > > +_scratch_mkfs > $seqres.full 2>&1
> > > +_scratch_mount >> $seqres.full 2>&1
> > > +
> > > +nr_cpus=$((LOAD_FACTOR * 4))
> > > +nr_ops=$((70000 * nr_cpus * TIME_FACTOR))
> > > +
> > > +args=('-z' '-S' 'c')
> > > +
> > > +# Do some directory tree modifications, but the bulk of this is geared towards
> > > +# exercising the xattr code, especially attr_set which can do up to 10k values.
> > > +for verb in unlink rmdir; do
> > > +	args+=('-f' "${verb}=1")
> > > +done
> > > +for verb in creat mkdir; do
> > > +	args+=('-f' "${verb}=2")
> > > +done
> > > +for verb in getfattr listfattr; do
> > > +	args+=('-f' "${verb}=3")
> > > +done
> > > +for verb in attr_remove removefattr; do
> > > +	args+=('-f' "${verb}=4")
> > > +done
> > > +args+=('-f' "setfattr=20")
> > > +args+=('-f' "attr_set=60")	# sets larger xattrs
> > > +
> > > +$FSSTRESS_PROG "${args[@]}" $FSSTRESS_AVOID -d $SCRATCH_MNT -n $nr_ops -p $nr_cpus >> $seqres.full
> > > +
> > > +# success, all done
> > > +status=0
> > > +exit
> > > diff --git a/tests/generic/724.out b/tests/generic/724.out
> > > new file mode 100644
> > > index 00000000..164cfffb
> > > --- /dev/null
> > > +++ b/tests/generic/724.out
> > > @@ -0,0 +1,2 @@
> > > +QA output created by 724
> > > +Silence is golden.
> > > 
> >
diff mbox series

Patch

diff --git a/tests/generic/724 b/tests/generic/724
new file mode 100755
index 00000000..b19f8f73
--- /dev/null
+++ b/tests/generic/724
@@ -0,0 +1,57 @@ 
+#! /bin/bash
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (c) 2021 Oracle, Inc.  All Rights Reserved.
+#
+# FS QA Test No. 724
+#
+# Run an extended attributes fsstress run with multiple threads to shake out
+# bugs in the xattr code.
+#
+. ./common/preamble
+_begin_fstest soak attr long_rw stress
+
+_cleanup()
+{
+	$KILLALL_PROG -9 fsstress > /dev/null 2>&1
+	cd /
+	rm -f $tmp.*
+}
+
+# Modify as appropriate.
+_supported_fs generic
+
+_require_scratch
+_require_command "$KILLALL_PROG" "killall"
+
+echo "Silence is golden."
+
+_scratch_mkfs > $seqres.full 2>&1
+_scratch_mount >> $seqres.full 2>&1
+
+nr_cpus=$((LOAD_FACTOR * 4))
+nr_ops=$((70000 * nr_cpus * TIME_FACTOR))
+
+args=('-z' '-S' 'c')
+
+# Do some directory tree modifications, but the bulk of this is geared towards
+# exercising the xattr code, especially attr_set which can do up to 10k values.
+for verb in unlink rmdir; do
+	args+=('-f' "${verb}=1")
+done
+for verb in creat mkdir; do
+	args+=('-f' "${verb}=2")
+done
+for verb in getfattr listfattr; do
+	args+=('-f' "${verb}=3")
+done
+for verb in attr_remove removefattr; do
+	args+=('-f' "${verb}=4")
+done
+args+=('-f' "setfattr=20")
+args+=('-f' "attr_set=60")	# sets larger xattrs
+
+$FSSTRESS_PROG "${args[@]}" $FSSTRESS_AVOID -d $SCRATCH_MNT -n $nr_ops -p $nr_cpus >> $seqres.full
+
+# success, all done
+status=0
+exit
diff --git a/tests/generic/724.out b/tests/generic/724.out
new file mode 100644
index 00000000..164cfffb
--- /dev/null
+++ b/tests/generic/724.out
@@ -0,0 +1,2 @@ 
+QA output created by 724
+Silence is golden.