六、代码结构(4) I/O “小”写流程上一篇,介绍了dm dedup的写流程,这一篇,介绍它的一个特殊流程如果我们接收到的对齐bio但是它的size < block_size,那么这时候是不能直接进行hash的。需要将它的缺少的部分读出来,填充成一个完整的block_size才能计算hash。接下来我们就介绍这一部分的代码流程。static int handle_wri
1、iSCSI 概念 我把iscsi target作为TARGET的第一篇来讲,主要因为很多人知道I/O导出协议,也都是第一个想到iscsi。 iscsi是什么。首先,我们来讲讲它的概念
我们之前介绍了,linux I/O 栈的预习方面。简单地了解了一下整个linux I/O 栈的组成。从今天开始我们仔细介绍linux I/O栈的导出I/O栈,linux I/O target。 一、基础介绍 I/O导出协议栈是什么? &n
四、代码结构(2)I/O写流程上一篇我们来介绍了dmdedup的空间管理这一篇我们介绍核心流程I/O写流程要看的特别清楚这部门的内容,需要结合我之前写过的《device-mapper块级重删(dmdedup)<2>设计》请添加链接描述一起学习。在块级重删设计那一篇已经描述了这一系列的过程,我们再从代码的角度理解一遍。1、nohash&&nolbn即:①compute_h
四、代码结构(2)I/O写流程及spacemanager
三、代码结构(1)基础构架
二、dmdedup的原理如果看过上我上篇《linuxI/O栈预习》的读者会很容易发现,dmdedup仅仅是linuxI/O栈中沧海一粟的一个附加功能,那为什么我会对这个技术这么感兴趣?那么我认为有两点比较有趣:其一是这个项目从2014年开始到如今也没有被合并入linuxkernel主线的代码,说明其完备性不够。其二是因为这个技术确实是比较新颖,所以可以在其中有一些思考,而不像其他dm模块那样稳定。
二、预习下由于我们在上一篇文章中,描述了比较高层的I/Ostack的结构,接下来我们来讲讲底层的结构。这一节,可能绝大多数的人在实际的工作中,并不是涉及到开发,但也是linuxI/O中非常重要的。那我们就一一列举,来讲讲它们都是什么。1、BlockLayer,在很多年前,我在看SCSI子系统的时候,我那时候就不是太确立BlockLayer到底是什么,因为这其中要理解blockdevice、BIO和
二、预习在我们进去devicemapper的dmdedup学习之前,我们先要预习一下,什么是devicemapper,和为什么devicemapper能够做块重删。1、devicemapper照旧,我们先看一下维基百科对它的介绍。ThedevicemapperisaframeworkprovidedbytheLinuxkernelformappingphysicalblockdevicesonto
一、序~~背景~~linuxdevicemapperdeduplicationtarget作为开源系统linux目前的块级重删技术,未来会被广泛关注,尤其是在全闪存allflasharray要在未来大爆发的时代,越来越多的混合存储方案会被全闪存所替换,如何更提高闪存的利用率变成了各大厂商的研究对象。由此可见重删技术对闪存是尤为重要,甚至来说是闪存能够做到低成本的基础法门。
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号