Re: [PATCH v2 4/4] dm: enable may_passthrough_inline_crypto on some targets

From: Eric Biggers
Date: Tue Oct 27 2020 - 17:10:26 EST


On Thu, Oct 15, 2020 at 09:46:32PM +0000, Satya Tangirala wrote:
> dm-linear and dm-flakey obviously can pass through inline crypto support.
>
> Co-developed-by: Eric Biggers <ebiggers@xxxxxxxxxx>
> Signed-off-by: Eric Biggers <ebiggers@xxxxxxxxxx>
> Signed-off-by: Satya Tangirala <satyat@xxxxxxxxxx>
> ---
> drivers/md/dm-flakey.c | 1 +
> drivers/md/dm-linear.c | 1 +
> 2 files changed, 2 insertions(+)
>
> diff --git a/drivers/md/dm-flakey.c b/drivers/md/dm-flakey.c
> index a2cc9e45cbba..655286dacc35 100644
> --- a/drivers/md/dm-flakey.c
> +++ b/drivers/md/dm-flakey.c
> @@ -253,6 +253,7 @@ static int flakey_ctr(struct dm_target *ti, unsigned int argc, char **argv)
> ti->num_discard_bios = 1;
> ti->per_io_data_size = sizeof(struct per_bio_data);
> ti->private = fc;
> + ti->may_passthrough_inline_crypto = true;
> return 0;
>
> bad:
> diff --git a/drivers/md/dm-linear.c b/drivers/md/dm-linear.c
> index 00774b5d7668..345e22b9be5d 100644
> --- a/drivers/md/dm-linear.c
> +++ b/drivers/md/dm-linear.c
> @@ -62,6 +62,7 @@ static int linear_ctr(struct dm_target *ti, unsigned int argc, char **argv)
> ti->num_secure_erase_bios = 1;
> ti->num_write_same_bios = 1;
> ti->num_write_zeroes_bios = 1;
> + ti->may_passthrough_inline_crypto = true;
> ti->private = lc;
> return 0;

How about instead using a flag DM_TARGET_PASSES_CRYPTO in target_type::features,
analogous to DM_TARGET_PASSES_INTEGRITY?

- Eric