IT资讯 Linux Kernel 5.8 将为 blk-mq 引入内联加密支持

rey · 2020-05-18 11:30:08 · 热度: 15

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

Linux Kernel 5.8 将为 blk-mq 引入内联加密支持

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

blk-mq 则是 Linux 的块设备层多队列机制,它将 Linux 内核存储栈中请求层的单队列改成多队列,理论上提升性能。

如果接下来 blk-mq 支持内联加密,那么它能够在存储栈中向下传递加密上下文,目前 Linux 内核源码 commit 中解释:我们必须通过某种方式让存储设备驱动程序知道它应该用于加密/解密请求的加密上下文。而上层(例如文件系统/fscrypt)知道情况并且管理加密上下文。这样,当上层提交 BIO 到块层,这个 BIO 最终到达的设备驱动程序支持内联加密,那么设备驱动程序则已经表明了 BIO 的加密上下文。

代码上具体改动是将 struct bio_crypt_ctx 添加到 struct bio 中,用来表示加密上下文,同时引入各种用于操作 bio_crypt_ctx 并使 bio/request 合并逻辑知晓 bio_crypt_ctx 的函数。

猜你喜欢:
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册