Eric Biggers <ebiggers@xxxxxxxxxx> writes: > On Fri, Apr 01, 2022 at 11:45:53AM +0100, Luís Henriques wrote: >> fscrypt keys have used the $FSTYP as prefix. However this format is being >> deprecated -- newer kernels already allow the usage of the generic >> 'fscrypt:' prefix for ext4 and f2fs. This patch allows the usage of this >> new prefix for testing filesystems that have never supported the old >> format, but keeping the $FSTYP prefix for filesystems that support it, so >> that old kernels can be tested. >> >> Signed-off-by: Luís Henriques <lhenriques@xxxxxxx> >> --- >> common/encrypt | 38 +++++++++++++++++++++++++++----------- >> 1 file changed, 27 insertions(+), 11 deletions(-) >> >> diff --git a/common/encrypt b/common/encrypt >> index f90c4ef05a3f..897c97e0f6fa 100644 >> --- a/common/encrypt >> +++ b/common/encrypt >> @@ -250,6 +250,27 @@ _num_to_hex() >> fi >> } >> >> +# Keys are named $FSTYP:KEYDESC where KEYDESC is the 16-character key descriptor >> +# hex string. Newer kernels (ext4 4.8 and later, f2fs 4.6 and later) also allow >> +# the common key prefix "fscrypt:" in addition to their filesystem-specific key >> +# prefix ("ext4:", "f2fs:"). It would be nice to use the common key prefix, but >> +# for now use the filesystem- specific prefix for these 2 filesystems to make it >> +# possible to test older kernels, and the "fscrypt" prefix for anything else. >> +_get_fs_keyprefix() >> +{ >> + local prefix="" >> + >> + case $FSTYP in >> + ext4|f2fs|ubifs) >> + prefix="$FSTYP" >> + ;; >> + *) >> + prefix="fscrypt" >> + ;; >> + esac >> + echo $prefix >> +} > > ubifs can use the "fscrypt" prefix, since there was never a kernel that > supported ubifs encryption but not the "fscrypt" prefix. Also, the "prefix" > local variable is unnecessary. So: > > case $FSTYP in > ext4|f2fs) > echo $FSTYP > ;; > *) > echo fscrypt > ;; > esac > > Otherwise, this patch looks fine if we want to keep supporting testing kernels > older than 4.8. However, since 4.4 is no longer a supported LTS kernel, perhaps > this is no longer needed and we could just always use "fscrypt"? I'm not sure > what xfstests's policy on old kernels is. Thank you for your feedback. I'll resend the patch with your changes. I am, of course, OK dropping support for older kernels on fstests, but I'll leave that decision for the maintainers; if anyone thinks that support should be dropped, I can send another version of the patch doing that. Cheers, -- Luís