diff mbox series

generic/507: support more filesystems

Message ID 20210611131029.679307-1-amir73il@gmail.com (mailing list archive)
State New, archived
Headers show
Series generic/507: support more filesystems | expand

Commit Message

Amir Goldstein June 11, 2021, 1:10 p.m. UTC
The commit message introducing the test says:
"We only check below attribute modification which most filesystem
 supports:
    - no atime updates (A)
    - secure deletion (s)
    - synchronous updates (S)
    - undeletable (u)
"
But in fact, very few filesystems support the (s) and (u) flags.
xfs and btrfs do not support them for example.

The test doesn't need to check those specific flags, so replace those
flags with immutable (i) and append-only (a), which most filesystems
really do support.

Signed-off-by: Amir Goldstein <amir73il@gmail.com>
---

Eryu,

This would be a good test to cover the recent fileattr vfs changes
by Miklos that changed the implementation of SETFLAGS ioctl in all the
filesystem, only the test does not run on most of the filesystems...

Thanks,
Amir.

 tests/generic/507 | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

Comments

Amir Goldstein June 13, 2021, 6:34 a.m. UTC | #1
On Fri, Jun 11, 2021 at 4:10 PM Amir Goldstein <amir73il@gmail.com> wrote:
>
> The commit message introducing the test says:
> "We only check below attribute modification which most filesystem
>  supports:
>     - no atime updates (A)
>     - secure deletion (s)
>     - synchronous updates (S)
>     - undeletable (u)
> "
> But in fact, very few filesystems support the (s) and (u) flags.
> xfs and btrfs do not support them for example.
>
> The test doesn't need to check those specific flags, so replace those
> flags with immutable (i) and append-only (a), which most filesystems
> really do support.
>
> Signed-off-by: Amir Goldstein <amir73il@gmail.com>
> ---
>
> Eryu,
>
> This would be a good test to cover the recent fileattr vfs changes
> by Miklos that changed the implementation of SETFLAGS ioctl in all the
> filesystem, only the test does not run on most of the filesystems...
>
> Thanks,
> Amir.
>
>  tests/generic/507 | 11 ++++++-----
>  1 file changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/tests/generic/507 b/tests/generic/507
> index b654883a..cc61b3cb 100755
> --- a/tests/generic/507
> +++ b/tests/generic/507
> @@ -9,7 +9,7 @@
>  # i_flags can be recovered after sudden power-cuts.
>  # 1. touch testfile;
>  # 1.1 sync (optional)
> -# 2. chattr +[AsSu] testfile
> +# 2. chattr +[ASai] testfile

I missed the same fix that's needed in line 8. below...

>  # 3. xfs_io -f testfile -c "fsync";
>  # 4. godown;
>  # 5. umount;
> @@ -34,6 +34,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
>  _cleanup()
>  {
>         cd /
> +       $CHATTR_PROG -ai $testfile &> /dev/null
>         rm -f $tmp.*
>  }
>
> @@ -49,7 +50,7 @@ _supported_fs generic
>
>  _require_command "$LSATTR_PROG" lasttr
>  _require_command "$CHATTR_PROG" chattr
> -_require_chattr AsSu
> +_require_chattr ASai
>
>  _require_scratch
>  _require_scratch_shutdown
> @@ -79,7 +80,7 @@ do_check()
>
>         before=`$LSATTR_PROG $testfile`
>
> -       $XFS_IO_PROG -f $testfile -c "fsync" | _filter_xfs_io
> +       $XFS_IO_PROG -r -f $testfile -c "fsync" | _filter_xfs_io
>
>         _scratch_shutdown | tee -a $seqres.full
>         _scratch_cycle_mount
> @@ -101,7 +102,7 @@ do_check()
>
>         before=`$LSATTR_PROG $testfile`
>
> -       $XFS_IO_PROG -f $testfile -c "fsync" | _filter_xfs_io
> +       $XFS_IO_PROG -r -f $testfile -c "fsync" | _filter_xfs_io
>
>         _scratch_shutdown | tee -a $seqres.full
>         _scratch_cycle_mount
> @@ -122,7 +123,7 @@ do_check()
>
>  echo "Silence is golden"
>
> -opts="A s S u"
> +opts="A S a i"
>  for i in $opts; do
>         do_check $i
>         do_check $i sync
> --
> 2.31.1
>
Eryu Guan June 13, 2021, 3:40 p.m. UTC | #2
On Sun, Jun 13, 2021 at 09:34:11AM +0300, Amir Goldstein wrote:
> On Fri, Jun 11, 2021 at 4:10 PM Amir Goldstein <amir73il@gmail.com> wrote:
> >
> > The commit message introducing the test says:
> > "We only check below attribute modification which most filesystem
> >  supports:
> >     - no atime updates (A)
> >     - secure deletion (s)
> >     - synchronous updates (S)
> >     - undeletable (u)
> > "
> > But in fact, very few filesystems support the (s) and (u) flags.
> > xfs and btrfs do not support them for example.
> >
> > The test doesn't need to check those specific flags, so replace those
> > flags with immutable (i) and append-only (a), which most filesystems
> > really do support.
> >
> > Signed-off-by: Amir Goldstein <amir73il@gmail.com>
> > ---
> >
> > Eryu,
> >
> > This would be a good test to cover the recent fileattr vfs changes
> > by Miklos that changed the implementation of SETFLAGS ioctl in all the
> > filesystem, only the test does not run on most of the filesystems...
> >
> > Thanks,
> > Amir.
> >
> >  tests/generic/507 | 11 ++++++-----
> >  1 file changed, 6 insertions(+), 5 deletions(-)
> >
> > diff --git a/tests/generic/507 b/tests/generic/507
> > index b654883a..cc61b3cb 100755
> > --- a/tests/generic/507
> > +++ b/tests/generic/507
> > @@ -9,7 +9,7 @@
> >  # i_flags can be recovered after sudden power-cuts.
> >  # 1. touch testfile;
> >  # 1.1 sync (optional)
> > -# 2. chattr +[AsSu] testfile
> > +# 2. chattr +[ASai] testfile
> 
> I missed the same fix that's needed in line 8. below...

Fixed on commit, thanks for the heads-up!

Eryu

> 
> >  # 3. xfs_io -f testfile -c "fsync";
> >  # 4. godown;
> >  # 5. umount;
> > @@ -34,6 +34,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
> >  _cleanup()
> >  {
> >         cd /
> > +       $CHATTR_PROG -ai $testfile &> /dev/null
> >         rm -f $tmp.*
> >  }
> >
> > @@ -49,7 +50,7 @@ _supported_fs generic
> >
> >  _require_command "$LSATTR_PROG" lasttr
> >  _require_command "$CHATTR_PROG" chattr
> > -_require_chattr AsSu
> > +_require_chattr ASai
> >
> >  _require_scratch
> >  _require_scratch_shutdown
> > @@ -79,7 +80,7 @@ do_check()
> >
> >         before=`$LSATTR_PROG $testfile`
> >
> > -       $XFS_IO_PROG -f $testfile -c "fsync" | _filter_xfs_io
> > +       $XFS_IO_PROG -r -f $testfile -c "fsync" | _filter_xfs_io
> >
> >         _scratch_shutdown | tee -a $seqres.full
> >         _scratch_cycle_mount
> > @@ -101,7 +102,7 @@ do_check()
> >
> >         before=`$LSATTR_PROG $testfile`
> >
> > -       $XFS_IO_PROG -f $testfile -c "fsync" | _filter_xfs_io
> > +       $XFS_IO_PROG -r -f $testfile -c "fsync" | _filter_xfs_io
> >
> >         _scratch_shutdown | tee -a $seqres.full
> >         _scratch_cycle_mount
> > @@ -122,7 +123,7 @@ do_check()
> >
> >  echo "Silence is golden"
> >
> > -opts="A s S u"
> > +opts="A S a i"
> >  for i in $opts; do
> >         do_check $i
> >         do_check $i sync
> > --
> > 2.31.1
> >
diff mbox series

Patch

diff --git a/tests/generic/507 b/tests/generic/507
index b654883a..cc61b3cb 100755
--- a/tests/generic/507
+++ b/tests/generic/507
@@ -9,7 +9,7 @@ 
 # i_flags can be recovered after sudden power-cuts.
 # 1. touch testfile;
 # 1.1 sync (optional)
-# 2. chattr +[AsSu] testfile
+# 2. chattr +[ASai] testfile
 # 3. xfs_io -f testfile -c "fsync";
 # 4. godown;
 # 5. umount;
@@ -34,6 +34,7 @@  trap "_cleanup; exit \$status" 0 1 2 3 15
 _cleanup()
 {
 	cd /
+	$CHATTR_PROG -ai $testfile &> /dev/null
 	rm -f $tmp.*
 }
 
@@ -49,7 +50,7 @@  _supported_fs generic
 
 _require_command "$LSATTR_PROG" lasttr
 _require_command "$CHATTR_PROG" chattr
-_require_chattr AsSu
+_require_chattr ASai
 
 _require_scratch
 _require_scratch_shutdown
@@ -79,7 +80,7 @@  do_check()
 
 	before=`$LSATTR_PROG $testfile`
 
-	$XFS_IO_PROG -f $testfile -c "fsync" | _filter_xfs_io
+	$XFS_IO_PROG -r -f $testfile -c "fsync" | _filter_xfs_io
 
 	_scratch_shutdown | tee -a $seqres.full
 	_scratch_cycle_mount
@@ -101,7 +102,7 @@  do_check()
 
 	before=`$LSATTR_PROG $testfile`
 
-	$XFS_IO_PROG -f $testfile -c "fsync" | _filter_xfs_io
+	$XFS_IO_PROG -r -f $testfile -c "fsync" | _filter_xfs_io
 
 	_scratch_shutdown | tee -a $seqres.full
 	_scratch_cycle_mount
@@ -122,7 +123,7 @@  do_check()
 
 echo "Silence is golden"
 
-opts="A s S u"
+opts="A S a i"
 for i in $opts; do
 	do_check $i
 	do_check $i sync