Re: [PATCH 1/2] block: add bi_crypto_ctx variable in struct bio

From: Jens Axboe
Date: Tue Dec 11 2018 - 08:37:11 EST


On 12/11/18 2:50 AM, Parshuram Thombare wrote:
> Add variable 'void *bi_crypt_ctx' in 'struct bio'. This will
> be used to associate bio with crypto configuration of controller
> supporting real time / inline encryption/decryption.
>
> Signed-off-by: Parshuram Thombare <pthombar@xxxxxxxxxxx>
> ---
> include/linux/blk_types.h | 4 ++++
> 1 files changed, 4 insertions(+), 0 deletions(-)
>
> diff --git a/include/linux/blk_types.h b/include/linux/blk_types.h
> index 1dcf652..bd77603 100644
> --- a/include/linux/blk_types.h
> +++ b/include/linux/blk_types.h
> @@ -188,6 +188,10 @@ struct bio {
> #endif
> };
>
> +#ifdef CONFIG_BLK_DEV_HW_RT_ENCRYPTION
> + void *bi_crypto_ctx;
> +#endif
> +
> unsigned short bi_vcnt; /* how many bio_vec's */
>
> /*

Pretty sure I mentioned this last time, but in case I didn't, don't
add bio members for random drivers. Can you imagine how huge
this thing would be if we allowed that?

If you need per-io storage, put it in the payload for the blk-mq
request. That way you are only bloating your own IO related data
structures, not everyones.

--
Jens Axboe