On Mon, Oct 21, 2019 at 11:00:04PM -0700, Eric Biggers wrote: > That won't work because we need consecutive file blocks to have consecutive IVs > as often as possible. The crypto support in the UFS and EMMC standards takes > only a single 64-bit "data unit number" (DUN) per request, which the hardware > uses as the first 64 bits of the IV and automatically increments for each data > unit (i.e. for each filesystem block, in this case). It seems very likely that for systems that are using UFS and eMMC (which are overwhelming lower-end devices --- e.g., embedded and mobile handsets) 32-bit inode and logical block numbers will be just fine. If and when we actually get inline crypto support for server-class systems, hopefully they will support 128-bit DUN's, and/or they will have sufficiently fast key load times such that we can use per-file keying. > An alternative which would work nicely on ext4 and xfs (if xfs supported > fscrypt) would be to pass the physical block number as the DUN. However, that > wouldn't work at all on f2fs because f2fs moves data blocks around. And since > most people who want to use this are using f2fs, f2fs support is essential. And that is something fscrypt supports already, so if people really did want to use 64-bit logical block numbers, they could do that, at the cost of giving up the ability to shrink the file system (which XFS doesn't support anyway....) - Ted