mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
generic/062: don't assume same readdir order after re-creating directory
generic/062 uses getfattr to dump xattrs for a directory tree, then deletes and recreates that directory tree, then dumps the xattrs again and compares the dump to the original. This was failing when run on ext4 with encryption enabled because getfattr's output is in readdir order, but ext4 encryption by design chooses unpredictable encrypted filenames for each new directory, causing the readdir order to change after backup and restore. It is not really a valid assumption that the readdir order will always be the same, so update the test to sort the filenames, removing this assumption. Signed-off-by: Eric Biggers <ebiggers@google.com> Reviewed-by: Brian Foster <bfoster@redhat.com> Signed-off-by: Eryu Guan <eguan@redhat.com>
This commit is contained in:
+5
-2
@@ -178,8 +178,11 @@ echo; echo
|
||||
|
||||
_backup()
|
||||
{
|
||||
# NB: no filtering of scratch here... (need to restore too)
|
||||
$GETFATTR_PROG --absolute-names -dh -R -m '.' $SCRATCH_MNT >$1
|
||||
# Note: we don't filter scratch here since we need to restore too. But
|
||||
# we *do* sort the output by path, since it otherwise would depend on
|
||||
# readdir order, which on some filesystems may change after re-creating
|
||||
# the files.
|
||||
$GETFATTR_PROG --absolute-names -dh -R -m '.' $SCRATCH_MNT | _sort_getfattr_output >$1
|
||||
echo BACKUP $1 >>$seqres.full
|
||||
cat $1 >> $seqres.full
|
||||
[ ! -s $1 ] && echo "warning: $1 (backup file) is empty"
|
||||
|
||||
Reference in New Issue
Block a user