[dm-crypt] out of order encryption

Milan Broz gmazyland at gmail.com
Thu Aug 6 13:06:36 CEST 2015

On 08/06/2015 12:38 PM, Vasile Catalin-B50542 wrote:
> I was referring to the submitted requests.
> Does the underlying encryption layer (CryptoAPI) have to ensure the
> complete callbacks are called in the order the requests were submitted?

No. And it really does not matter, requests are independent.

> Or does dm-crypt figure out where to read/write after request is done
> no matter in which order the crypto requests finished?

In recent kernels write request are in dmcrypt partially sorted for performance reasons

Otherwise there is no other logic related.


> On 06.08.2015 12:15, Milan Broz wrote:
>> On 08/06/2015 09:00 AM, Vasile Catalin-B50542 wrote:
>>> Would dm-crypt execute correctly if sector encryption ended asynchronously?
>>> For example:
>>> If sector 1, 2, 3 are sent to be done asynchronously to the same
>>> algorithm instance,
>>> and the jobs end in the following order: 2, 1, 3; does the dm-crypt
>>> module know to
>>> write the data in the proper place when the encryption "done" callback
>>> is called?
>> Not sure if I understand your question - encryption in dmcrypt works on sector
>> level, sectors are encrypted independetly, so order cannot influence result
>> of encryption of individual sectors.
>> Or if the question is about order of submitted requests:
>> If you need to ensure order of processing, you have to issue "flush" operation
>> before submitting next data content. Filesystems typically must do this when
>> handling journal or so.
>> In general, requests order can be rearranged (anywhere in block layer, not only in dmcrypt).
>> But this is correct behaviour.
>> Milan
> _______________________________________________
> dm-crypt mailing list
> dm-crypt at saout.de
> http://www.saout.de/mailman/listinfo/dm-crypt

More information about the dm-crypt mailing list