上一篇我们来介绍了dm dedup的空间管理
这一篇我们介绍核心流程I/O写流程
要看的特别清楚这部门的内容,需要结合我之前写过的《device-mapper 块级重删(dm dedup) <2>设计》请添加链接描述一起学习。
在块级重删 设计那一篇已经描述了这一系列的过程,我们再从代码的角度理解一遍。
1、no hash && no lbn
即:① compute_hash_bio(dc->desc_table, bio, hash);获得到hash_pbn
-> ② dc->kvs_hash_pbn->kvs_lookup(dc->kvs_hash_pbn, hash,dc->crypto_key_size,&hashpbn_value, &vsize);
通过