
文件系统
文章平均质量分 67
瞎看,瞎写,瞎分析。
hafy-25
LINUX 内核,专注文件系统存储一事无成的女屌丝一枚。
mygithub:https://github.com/Hafy
展开
-
BTRFS - COW B-trees
文章来自于 IBM Research Report (BTRFS - B-Tree filesystemb-tree不变量是一个节点在被拆分或合并之前可以维护2到5个元素。假设树节点只占用一页。 未修改的page被标记成yellow, COWed页被标记成绿色。 图1(a)显示了两级的初始树。图1(b)显示了在最右边叶子插入一个新的key 19。路径沿树向下遍历,并且所有修改的页面都...原创 2019-08-16 10:25:03 · 855 阅读 · 0 评论 -
EXT4文件系统笔记之ext4_fill_super
-----------------------------------写在2017/05/29 13:56--------------------------------------------------------周六答辩,最近无所事事,重新看以前自己写的笔记,心中颇有感慨,写上来吧,如果哪天笔记本丢了,所有的回忆也都没有了。其实我真的不是一个会写东西的人,学习过程中也很少写,因此遇到同样原创 2017-05-29 14:55:54 · 2680 阅读 · 0 评论 -
BTRFS - what makes BTRFS different?
1.EXT3之前的文件系统使用块指针,比如说每个文件的inode 对应每个单独的块包含一系列的指针去保存文件的数据,这样就导致,比如对于1GB 的文件来说需要256K的单独块指针,多浪费空间啊后来EXT4 改成了使用extent 结构去描述数据块,每个extent是一组连续的块。由于文件系统可以存储连续的数据,基于extend的存储大大减少了管理文件空间的开销2.BTRFS 也使用exte...原创 2019-08-06 16:52:48 · 323 阅读 · 0 评论 -
EXT4 ATTRS - lazy_itable_init分析(mke2fs 和mount)
在创建Ext4文件系统时,必须清理inode表的现有区域(用null覆盖,或“0”)。这真的需要时间。但是,启用“lazyinit”特性后,ext4文件系统的创建将显著加快,因为它不会立即初始化所有inode表,而是在后台的初始挂载过程中逐步初始化它们(内核版本2.6.37)此外,如果启用了uninit_bg特性,那么mke2fs不会完全初始化inode表。这显著加快了文件系统的初始化速度,但...原创 2019-08-14 15:38:10 · 2407 阅读 · 0 评论 -
EXT文件系统扩容
ext系列的文件系统都在块组描述符后面进行预留块组描述符块以便于后续的扩充,目前来看 是系统本身的块组描述符块与预留的块组描述符块数为1024块(目前来看是这样没有看源代码进行验证) 我一直想着所谓的可扩展性是什么。今天进行测试做了一下验证。1、我的硬盘是320G 大小的 两个分区 sdb1 大小为34G sdb2 260多G 我将其格式化为ext4文件系统 然原创 2017-05-10 14:16:21 · 2037 阅读 · 0 评论 -
BTRFS Defragmentation
备注:本文翻译自 IBM ResearchReport BTRFS - Linux Btree Filesystem在写的时候,碎片整理以两种不同方式解决。为了碎片整理一个文件,它被读取,COWed,并在下一个检查点写入磁盘。这可能会使他更加顺序,因为分配器尝试在尽可能少的extents里写出来。缺点是与旧快照的共享丢失了。在许多情况下,这个简单的算法是有效的。在一些情况下,一个更加复杂的算...原创 2019-09-06 16:38:46 · 662 阅读 · 0 评论 -
BTRFS- Multiple Device Support(多重设备支持)
备注:本文翻译自 IBM Research Report BTRFS - Linux Btree FilesystemLinux 有设备映射(DMs)子系统去管理存储设备。举个例子,LVM和mdadm,这些时软件模型,主要功能是管理raw disks,合并他们到虚拟的连续的块地址空间,并且将其抽象话到更高级别的内核层。他们支持镜像,剥离和RAID5/6。无论如何,checksums是不支持的,...原创 2019-09-02 10:04:48 · 531 阅读 · 0 评论 -
BTRFS - A Forest,extent分配树,同步与并发
一、A Forest文件系统由树木森林构造(a forest of trees),超级块定位在一个固定的磁盘位置。它指向一个树的根树节点,该节点索引构成文件系统的b树。The trees are:Sub-volumns:存储用户可见文件和目录。每个子卷有一个单独的tree实现。子卷可以被快照和克隆,创建额外的b-trees。The roots of all sub-volumes are ...原创 2019-08-29 11:15:26 · 781 阅读 · 0 评论 -
Linux kernel 如何在挂载的时候确定具体文件系统类型
本文通过分析内核挂载和初始化源码剖析内核是如何知道调用的是具体哪个文件系统的函数。一:文件系统注册结构体函数(参考:https://books.google.co.jp/books?id=h0lltXyJ8aIC&pg=PT498&lpg=PT498&dq=struct+file_system_type&source=bl&ots=gP5rKV8f...原创 2019-08-28 16:41:39 · 1088 阅读 · 0 评论 -
BTRFS - Performance
备注:本文翻译自:IBM Research Report - BTRFS没有商定的测试文件系统性能的标准。虽然有NFS和CIFS的行业基准,他们仅仅覆盖现场看到的一小部分的工作量。在一天结束时,对用户来说最重要的是他特殊应用的性能。检查哪个文件系统时最好的匹配一个特殊的使用例子的唯一现实的方法时去尝试几种文件系统,看看哪一种工作的最好。因为我们不能覆盖所有的用例,我们选择了一种常见的基准,...原创 2019-09-12 10:08:25 · 789 阅读 · 0 评论