On Thu, Jul 09, 2020 at 07:47:46PM +0000, Satya Tangirala wrote: > This patch series adds support for direct I/O with fscrypt using > blk-crypto. It has been rebased on fscrypt/inline-encryption. Nit: use fscrypt/master instead. (Eventually I'll delete the "inline-encryption" branch.) > Patch 1 adds two functions to fscrypt that need to be called to determine > if direct I/O is supported for a request. > > Patches 2 and 3 wire up direct-io and iomap respectively with the functions > introduced in Patch 1 and set bio crypt contexts on bios when appropriate > by calling into fscrypt. > > Patches 4 and 5 allow ext4 and f2fs direct I/O to support fscrypt without > falling back to buffered I/O. > > This patch series was tested by running xfstests with test_dummy_encryption > with and without the 'inlinecrypt' mount option, and there were no > meaningful regressions. The only regression was for generic/587 on ext4, > but that test isn't compatible with test_dummy_encryption in the first > place, and the test "incorrectly" passes without the 'inlinecrypt' mount > option - a patch will be sent out to exclude that test when > test_dummy_encryption is turned on with ext4 (like the other quota related > tests that use user visible quota files). Note that xfstests has a check that prevents most of the direct I/O tests from running when the 'test_dummy_encryption' mount option was specified: _require_odirect() { if [ $FSTYP = "ext4" ] || [ $FSTYP = "f2fs" ] ; then if echo "$MOUNT_OPTIONS" | grep -q "test_dummy_encryption"; then _notrun "$FSTYP encryption doesn't support O_DIRECT" fi fi We should try changing that check to not skip the test if the 'inlinecrypt' mount option was also specified. - Eric