From: Boris Burkov <boris@bur.io>
To: fstests@vger.kernel.org, linux-fscrypt@vger.kernel.org,
linux-btrfs@vger.kernel.org, kernel-team@fb.com
Subject: [PATCH v13 0/5] tests for btrfs fsverity
Date: Tue, 19 Jul 2022 17:49:45 -0700 [thread overview]
Message-ID: <cover.1658277755.git.boris@bur.io> (raw)
This patchset provides tests for fsverity support in btrfs.
It includes modifications for generic tests to pass with btrfs as well
as new tests.
--
v13:
- Fix quoting of $MOUNT_OPTION in -z check
- Stash $MOUNT_OPTION export for btrfs in _require_scratch_verity
- Change pointless '<f grep foo' to 'grep foo f' in generic/574
- Refactor logwrites orphan test to use logwrites fua hunting functions.
It ran in 6 seconds instead of ~30 on my machine, and I was able to
verify that it still hit all the interesting cases.
- Add recoveryloop group to orphan test
- Get rid of overly pessimistic "UNKNOWN.3[67]" from verity item grep,
rely on a new version of progs (needed for corruption functions and
COMPAT_RO flags anyway...)
v12:
- Actually incorporate Sweet Tea's significant improvement to the commit
message for the log-writes test.
v11:
- remove unneeded common/btrfs sourcing from common/verity
- fix btrfs/290 prealloc test in case the disk extent actually
had zeros.
- make logic a little more consistent in btrfs/291
- make btrfs/291 work regardless of how btrfs-progs prints the Merkle
items.
v10:
- rebase
- add nodatasum instead of setting it
- rewrite eof block test to read zap_len at eof and to compare with a
zero file instead of using xxd
- add _require_loop to the log_writes test
v9:
- use nodatasum for btrfs corruption tests.
- modify eof block corruption test to allow all zeroes rather than
requiring an error.
v8:
- reorganize to have a patch for enabling generic tests followed by the
patches with new and specific tests.
- fix some rebasing miscues from v7.
- fix a chunk of space characters instead of a tab in the new requires
function.
v7:
- add a new patch to make the new corruption requires more clear
- require corruption in generic/576
- require only btrfs_corrupt_block in btrfs/290
- add missing xfs_io requirements in btrfs/290
- remove unneeded zero byte check from btrfs corruption function
- fix sloppy extras in generic/690
v6:
- refactor "requires" for verity corruption tests so that other verity
tests can run on btrfs even without the corruption command available.
Also, explictly require xfs_io fiemap for all corruption tests.
- simplify and clarify "non-trivial EFBIG" calculation and documentation
per suggestions by Eric Biggers.
- remove unnecessary adjustment to max file size in the new EFBIG test;
the bug it worked around has been fixed.
v5:
- more idiomatic requires structure for making efbig test generic
- make efbig test use truncate instead of pwrite for making a big file
- improve documentation for efbig test approximation
- fix underscores vs dashes in btrfs_requires_corrupt_block
- improvements in missing/redundant requires invocations
- move orphan test image file to $TEST_DIR
- make orphan test replay/snapshot device size depend on log device
instead of hard-coding it.
- rebase (signicant: no more "groups" file; use preamble)
v4:
- mark local variables
- get rid of redundant mounts and syncs
- use '_' in function names correctly
- add a test for the EFBIG case
- reduce usage of requires_btrfs_corrupt_block
- handle variable input when corrupting merkle tree
v3: rebase onto xfstests master branch
v2: pass generic tests, add logwrites test
Boris Burkov (5):
common/verity: require corruption functionality
common/verity: support btrfs in generic fsverity tests
btrfs: test btrfs specific fsverity corruption
btrfs: test verity orphans with dmlogwrites
generic: test fs-verity EFBIG scenarios
common/btrfs | 5 ++
common/config | 1 +
common/verity | 48 ++++++++++++
tests/btrfs/290 | 172 ++++++++++++++++++++++++++++++++++++++++++
tests/btrfs/290.out | 25 ++++++
tests/btrfs/291 | 168 +++++++++++++++++++++++++++++++++++++++++
tests/btrfs/291.out | 2 +
tests/generic/574 | 38 +++++++++-
tests/generic/574.out | 13 +---
tests/generic/576 | 1 +
tests/generic/692 | 64 ++++++++++++++++
tests/generic/692.out | 7 ++
12 files changed, 532 insertions(+), 12 deletions(-)
create mode 100755 tests/btrfs/290
create mode 100644 tests/btrfs/290.out
create mode 100755 tests/btrfs/291
create mode 100644 tests/btrfs/291.out
create mode 100644 tests/generic/692
create mode 100644 tests/generic/692.out
--
2.37.1
next reply other threads:[~2022-07-20 0:49 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-20 0:49 Boris Burkov [this message]
2022-07-20 0:49 ` [PATCH v13 1/5] common/verity: require corruption functionality Boris Burkov
2022-07-20 0:49 ` [PATCH v13 2/5] common/verity: support btrfs in generic fsverity tests Boris Burkov
2022-07-25 18:41 ` Eric Biggers
2022-07-20 0:49 ` [PATCH v13 3/5] btrfs: test btrfs specific fsverity corruption Boris Burkov
2022-07-20 0:49 ` [PATCH v13 4/5] btrfs: test verity orphans with dmlogwrites Boris Burkov
2022-07-20 14:30 ` Sweet Tea Dorminy
2022-07-20 0:49 ` [PATCH v13 5/5] generic: test fs-verity EFBIG scenarios Boris Burkov
2022-07-20 14:13 ` [PATCH v13 0/5] tests for btrfs fsverity Josef Bacik
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=cover.1658277755.git.boris@bur.io \
--to=boris@bur.io \
--cc=fstests@vger.kernel.org \
--cc=kernel-team@fb.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-fscrypt@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).