All of lore.kernel.org
 help / color / mirror / Atom feed
* [dm-crypt] Hang problem with dm-crypt
@ 2016-09-26  6:50 Yu, Wenqian
  2016-09-26 10:27 ` Milan Broz
  0 siblings, 1 reply; 5+ messages in thread
From: Yu, Wenqian @ 2016-09-26  6:50 UTC (permalink / raw)
  To: dm-crypt; +Cc: Yu, Wenqian

[-- Attachment #1: Type: text/plain, Size: 1015 bytes --]

Hi, all,

I tried to use dm-crypt for disk encryption with accelerators and found that it will hang when accelerator returned EBUSY, which means the driver request queue is full.

Per the logic in crypt_convert(), the request will be skipped if the request is not sent to crypto driver when the driver request queue is full.  Is this expected behavior?

In crypt_convert_block(), the sector is advanced (bio_advance_iter()) no matter whether crypto_skcipher_encrypt()/crypto_skcipher_decrypt() send the request to accelerator driver or not.   When the driver request queue is full, EBUSY will be returned from crypto_skcipher_encrypt()/crypto_skcipher_decrypt().  And in crypt_convert(), the existing implementation is waiting for a completion from a request, which is not queued in the driver when EBUSY is encountered from crypt_convert_block ().  In this case, the sector should not be advanced or should be rolled back as the request is not sent to accelerator driver.

Thanks,

-          Wenqian


[-- Attachment #2: Type: text/html, Size: 5771 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-09-27  6:44 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-26  6:50 [dm-crypt] Hang problem with dm-crypt Yu, Wenqian
2016-09-26 10:27 ` Milan Broz
2016-09-26 13:08   ` Yu, Wenqian
2016-09-27  6:44     ` Milan Broz
2016-09-27  6:44       ` Milan Broz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.