Hi Amir, On Thu, Jun 22, 2023 at 12:36:59PM +0300, Amir Goldstein wrote: > > > What do I need to do in order to enable verity on ext4 besides > > > enabling FS_VERITY in the kernel? > > > > > > I'm getting these on verity tests on ext4 in the default 4k config. > > > _require_scratch_verity() doesn't mention any requirement other > > > that 4K blocks and extent format files. > > > > > > Thanks, > > > Amir. > > > > > > BEGIN TEST 4k (10 tests): Ext4 4k block Wed Jun 14 06:04:25 UTC 2023 > > > DEVICE: /dev/vdb > > > EXT_MKFS_OPTIONS: -b 4096 > > > EXT_MOUNT_OPTIONS: -o block_validity > > > FSTYP -- ext4 > > > PLATFORM -- Linux/x86_64 kvm-xfstests > > > 6.4.0-rc2-xfstests-00026-g35774ba7f07c #1596 SMP PREEMPT_DYNAMIC Tue > > > Jun 13 18:16:59 IDT 2023 > > > MKFS_OPTIONS -- -F -q -b 4096 /dev/vdc > > > MOUNT_OPTIONS -- -o acl,user_xattr -o block_validity /dev/vdc /vdc > > > > > > generic/572 [06:04:42] [06:04:47] [not run] > > > generic/572 -- ext4 verity isn't usable by default with these mkfs options > > > ... > > > > You need to "tune2fs -O verity" (or pass -O verity to mkfs.ext4). > > > > That was indeed missing in my setup, but it did not fix the problem. > > Turned out that I had a very old version of fsverity installed in my > kvm-xfstest test VM, where there is no --block-size option to > fsverity enable would always fail. That would do it. So the tests were in fact skipping themselves as expected; just the skip message was not clear. > > Eric, > > You may consider adding a check for minimal version of > fsverity or check for support of --block-size option to make > this error reason more clear for testers. I'm thinking it wouldn't be worth bothering, as the --block-size option was in the first actual release of fsverity-utils (v1.0). You must have pulled down a work-in-progress version of fsverity-utils back in 2018 or early 2019, well before the kernel support for fsverity was upstreamed, and then never updated it. I expect this issue affects very few people. > Ted, > > FYI, FSVERITY_GIT in fstests-bld/config points to an out of date URL It was already updated several months ago. Please run 'git pull'. > > How come there is no ext4/cfg/verity in fstests-bld? xfstests has a verity test *group*, which contains the tests that were written specifically to test verity. An xfstests-bld test config is something that applies to all tests. Features like "encrypt" have an xfstests-bld test config since there is a way to enable/use those features in all tests. In the case of encrypt that means mounting the filesystem with "-o test_dummy_encryption". In the case of verity, there is no way to enable/use verity in all tests. (It would be possible to always enable "-O verity" on the filesystem, but that does nothing to make verity actually be used/tested.) Hence, it doesn't have an xfstests-bld test config. > Are you guys not testing fsverity with fstests-bld? We are. The documented way to test fsverity is to use kvm-xfstests: https://www.kernel.org/doc/html/latest/filesystems/fsverity.html#tests > Should we just add fsverity config or add verity to ext4/cfg/encrypt > instead to avoid growing the test matrix? > > I can send patches for fstests-bld fixing the above if you like. As per the above, I don't think there is anything to fix. - Eric