From: Brian Foster <bfoster@redhat.com>
To: Eric Biggers <ebiggers3@gmail.com>
Cc: fstests@vger.kernel.org, Eric Biggers <ebiggers@google.com>
Subject: Re: [PATCH] generic/062: don't assume same readdir order after re-creating directory
Date: Fri, 16 Dec 2016 09:22:21 -0500 [thread overview]
Message-ID: <20161216142221.GD8447@bfoster.bfoster> (raw)
In-Reply-To: <1481612221-65504-1-git-send-email-ebiggers3@gmail.com>
On Mon, Dec 12, 2016 at 10:57:01PM -0800, Eric Biggers wrote:
> From: Eric Biggers <ebiggers@google.com>
>
> 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>
> tests/generic/062 | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/tests/generic/062 b/tests/generic/062
> index e4dc2cc..643f02c 100755
> --- a/tests/generic/062
> +++ b/tests/generic/062
> @@ -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"
> --
> 2.8.0.rc3.226.g39d4020
>
> --
> To unsubscribe from this list: send the line "unsubscribe fstests" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
prev parent reply other threads:[~2016-12-16 14:22 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-13 6:57 [PATCH] generic/062: don't assume same readdir order after re-creating directory Eric Biggers
2016-12-16 14:22 ` Brian Foster [this message]
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=20161216142221.GD8447@bfoster.bfoster \
--to=bfoster@redhat.com \
--cc=ebiggers3@gmail.com \
--cc=ebiggers@google.com \
--cc=fstests@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.