On Tue, Jun 13, 2017 at 04:47:53PM -0700, Eric Biggers wrote: > From: Eric Biggers <ebiggers@xxxxxxxxxx> > > Currently, filesystems allow truncate(2) on an encrypted file without > the encryption key. However, it's impossible to correctly handle the > case where the size being truncated to is not a multiple of the > filesystem block size, because that would require decrypting the final > block, zeroing the part beyond i_size, then encrypting the block. > > As other modifications to encrypted file contents are prohibited without > the key, just prohibit truncate(2) as well, making it fail with ENOKEY. What about hole punches? What about fallocate which just adds zeroes but still changes the content. What about insert or collapse range?