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>
Reviewed-by: Eryu Guan <guaneryu@gmail.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
# i_flags can be recovered after sudden power-cuts.
# 1. touch testfile;
# 1.1 sync (optional)
# 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;
# 6. mount;
# 7. check i_flags
# 3. xfs_io -f testfile -c "fsync";
# 4. godown;
# 5. umount;
# 6. mount;
# 7. check i_flags
-# 8. chattr -[AsSu] testfile
+# 8. chattr -[ASai] testfile
# 9. xfs_io -f testfile -c "fsync";
# 10. godown;
# 11. umount;
# 9. xfs_io -f testfile -c "fsync";
# 10. godown;
# 11. umount;
+ $CHATTR_PROG -ai $testfile &> /dev/null
_require_command "$LSATTR_PROG" lasttr
_require_command "$CHATTR_PROG" chattr
_require_command "$LSATTR_PROG" lasttr
_require_command "$CHATTR_PROG" chattr
_require_scratch
_require_scratch_shutdown
_require_scratch
_require_scratch_shutdown
before=`$LSATTR_PROG $testfile`
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
_scratch_shutdown | tee -a $seqres.full
_scratch_cycle_mount
before=`$LSATTR_PROG $testfile`
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
_scratch_shutdown | tee -a $seqres.full
_scratch_cycle_mount
for i in $opts; do
do_check $i
do_check $i sync
for i in $opts; do
do_check $i
do_check $i sync