2018-12-11 09:52:00

by Parshuram Raju Thombare

[permalink] [raw]
Subject: [PATCH 1/2] block: add bi_crypto_ctx variable in struct bio

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 <[email protected]>
---
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 */

/*
--
1.7.1



2018-12-11 13:38:26

by Jens Axboe

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

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 <[email protected]>
> ---
> 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


2018-12-12 05:35:59

by Parshuram Raju Thombare

[permalink] [raw]
Subject: RE: [PATCH 1/2] block: add bi_crypto_ctx variable in struct bio

Hello Jens,

Thank you for a comment.

>-----Original Message-----
>From: Jens Axboe <[email protected]>
>Sent: Tuesday, December 11, 2018 7:07 PM
>To: Parshuram Raju Thombare <[email protected]>; [email protected];
>[email protected]; [email protected]; [email protected];
>[email protected]; [email protected]; [email protected]; [email protected];
>[email protected]; [email protected]
>Cc: Alan Douglas <[email protected]>; Janek Kotas <[email protected]>;
>Rafal Ciepiela <[email protected]>
>Subject: Re: [PATCH 1/2] block: add bi_crypto_ctx variable in struct bio
>
>EXTERNAL MAIL
>
>
>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 <[email protected]>
>> ---
>> 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.
Ok, I will look into using payload for the blk-mq request instead of adding variable
in struct bio.
I thought this filed would be useful in enabling inline encryption for other type of
devices too.
>
>--
>Jens Axboe

Regards,
Parshuram Thombare