> Alternatively, if I recall correctly it should be possible to just > check if the bio has an attached encryption context. If it has one, > then just pass-through. If it doesn't, then attach your own. No flag > required this way, and dm-default-key would only add encryption iff > the data isn't already encrypted. This piqued my interest, so I went and did some git archeology to see why this isn't the case and there's a flag now. Apparently fscrypt will sometimes rearrange blocks without the key present. This is fine, because if there's no key, blk-crypto doesn't need to do anything and we can just shuffle the encrypted data around. We definitely don't want to re-encrypt the data in that scenario. Also, thinking about it a bit more: what should happen if we stack dm-crypt on top of dm-default-key. I see no point in double-encrypting even in this situation. So, dm-crypt would set the flag to skip dm-default-key, even though it's not actually attaching an encryption context to the bio. So it seems like the flag is the better solution. It would just be impermissible to set the flag on a request that will write plaintext data to disk. - Adrian