All of lore.kernel.org
 help / color / mirror / Atom feed
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


             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 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.