Linux Kernel 5.8将引入对blk-mq的内联加密支持
2020/05/16 19:31:22 来源:Linux公社 作者:醉落红尘

为了提供更好的加密性能,Google工程师当前正在向Linux文件系统加密管理工具fscrypt添加内联加密支持。与此相关的开发包括在Linux 5.8块设备队列管理blk-mq中引入了内联加密。

fscrypt是用于Linux文件系统的加密管理的高级工具。它管理元数据,密钥生成,密钥封装和PAM集成,并提供用于创建和修改加密目录的统一界面。 fscrypt的内核部分已集成到文件系统(例如ext4)中。

blk-mq是Linux的块设备层多队列机制。它将Linux内核存储堆栈中请求层的单个队列更改为多队列,从理论上提高了性能。

如果下一个blk-mq支持内联加密,那么它可以将加密上下文传递到存储堆栈,当前在Linux内核源代码commit中对此进行了解释:

我们还对blk-mq进行了更改,以使其能够处理具有加密上下文的BIOS。 blk-mq可以将许多BIOS合并到同一请求中。这些BIOS必须具有连续的数据单元编号(还必须对blk-merge进行必要的更改以确保这一点)–因此,仅保留第一个BIOS的数据单元编号就足够了,因为这就是存储驱动程序需要推断请求中每个生物中每个数据块要使用的数据单元号。 blk-mq通过请求的rq_crypt_ctx跟踪用于请求中所有BIOS的加密上下文。将第一个生物添加到空请求后,blk-mq会将该生物的加密上下文编程到request_queue的键槽管理器中,并将返回的键槽存储在请求的rq_crypt_ctx中。在加密上下文中运行的所有功能都在blk-crypto.c中。

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2020-05/163202.htm


10

本栏最新