This changeset is in combination with a kernel changeset implementing btrfs encryption, and a btrfs-progs changeset btrfs has several differences from other filesystems currently integrated with fscrypt. It stores IVs on a per-file-extent basis, rather than per-inode, using a new v2 policy to do so; and requires the use of a v2 policy and its IV_FROM_FS policy flag. The design document can be found at [1]. As such, this adjusts many tests to explicitly require v1 policies if they require it, and generalizes the key handling for tests which can work fine with v2. It duplicates two generic tests which can't easily be generalized to work with btrfs, and adds all necessary function invocations to implement the ciphertext-checking functions. There are definitely additional areas which deserve testing. There are some tests which ought be split into v1-specific and v2-specific tests so that btrfs can work on the v2 part. A key feature for btrfs is subvolume encryption, and tests for that should be added. Necessary btrfs-progs changes are available at [2]; kernel changes are available at [3]. Additional tests around subvolume-level encryption will be added in the next version. [1] https://lore.kernel.org/linux-btrfs/YXGyq+buM79A1S0L@relinquished.localdomain/ [2] https://lore.kernel.org/linux-btrfs/cover.1660729916.git.sweettea-kernel@xxxxxxxxxx [3] https://lore.kernel.org/linux-btrfs/cover.1660744500.git.sweettea-kernel@xxxxxxxxxx Sweet Tea Dorminy (2): fstests: fscrypt: enable btrfs testing. fstests: fscrypt: update tests of encryption contents for btrfs common/encrypt | 184 +++++++++++++++++++++++++++++++++++++-- common/verity | 2 +- src/fscrypt-crypt-util.c | 34 +++++++- tests/btrfs/298 | 85 ++++++++++++++++++ tests/btrfs/298.out | 34 ++++++++ tests/btrfs/299 | 68 +++++++++++++++ tests/btrfs/299.out | 4 + tests/generic/395 | 2 +- tests/generic/397 | 8 +- tests/generic/398 | 12 +-- tests/generic/399 | 7 +- tests/generic/419 | 7 +- tests/generic/421 | 7 +- tests/generic/429 | 2 +- tests/generic/435 | 2 +- tests/generic/440 | 2 +- tests/generic/576 | 8 +- tests/generic/580 | 1 + tests/generic/581 | 1 + tests/generic/593 | 1 + tests/generic/613 | 1 + 21 files changed, 439 insertions(+), 33 deletions(-) create mode 100755 tests/btrfs/298 create mode 100644 tests/btrfs/298.out create mode 100755 tests/btrfs/299 create mode 100644 tests/btrfs/299.out -- 2.35.1