Re: dm crypt: initialize tasklet in crypt_io_init()

From: Mike Snitzer
Date: Mon Mar 06 2023 - 14:32:38 EST


On Mon, Mar 06 2023 at 8:49P -0500,
Hou Tao <houtao@xxxxxxxxxxxxxxx> wrote:

> From: Hou Tao <houtao1@xxxxxxxxxx>
>
> When neither no_read_workqueue nor no_write_workqueue are enabled,
> tasklet_trylock() in crypt_dec_pending() may still return false due to
> an uninitialized state, and dm-crypt will do io completion in io_queue
> instead of current context unnecessarily.

Have you actually experienced this?

> Fix it by initializing io->tasklet in crypt_io_init().

Really would rather avoid always calling tasklet_init(). But I can
optimize it away with a later patch.

Mike