On Sat, May 16, 2015 at 09:24:03AM -0400, Theodore Ts'o wrote: > [...] What's going to be more difficult in the long run is > when we want to support per-block data integrity, using (for example) > AES/GCM, which will require 32 bytes of per-block "authentication tag" > (think Message Authentication Code) that have to be committed > atomically with the data block write. > > Quite frankly, this is going to be much easier for COW file systems > like f2fs and btrfs. I have some ideas about how to do this for > update-in-place file systems (using either a compression hack and/or > storing two generations worth of authentication tag per block), but > it's not pretty. (Or in the case of ext4 we could use > data=journalling mode, but that's even less pretty from a performance > standpoint.) It seems to me that compression has a similar issue with framing metadata. The block map can be stored upfront, which then would require two writes to update a data block. Or it can be stored inline, which then would require scanning through the file sequentially for random access. The big difference, of course, is that in the case of compression, we have the luxury of assuming or mandating read-only/read-mostly. -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html