分类 File System 下的文章

转:EROFS pcluster 模式分析

原文链接:https://mp.weixin.qq.com/s/PQb_PwgxzyeeFZyz3FsO6wEROFS pluster 模式的用处:It's used to judge whether inplace I/O can be used due to the current status of pclusters in the chain.有四种:INFLIG...阅读全文

转:EROFS 碎片去重实践

碎片去重已经实现了,参见 [PATCH v7] erofs-utils: mkfs: support fragment deduplication,其主要逻辑就是在压缩前去重以防把重复的部分写入 packed inode,去重成功后如果 pcluster 没压满,就再读碎片尝试修复。主要围绕查找碎片、何时修复碎片、开始修复碎片、生成碎片extent、提交碎片这几块来说明。...阅读全文

EROFS 碎片去重准备

因为 EROFS 就是奔着取代 SquashFS 去的(should be),之前我们已经添加了碎片的支持,但是不支持去重。先大概看下 SquashFS 碎片去重是怎么做的。知己知彼,才能百战百胜。Check SquashFS 碎片去重参考 squashfs-tools 4.5.1/* hash tables used to do fast duplicate searc...阅读全文

EROFS 压缩去重分析

EROFS 文件系统刚提交了压缩去重特性提升压缩率,一起来看下。rolling hash 基础dedup 用到了 rolling hash,先了解下。wikipedia 的定义是:A hash function is any function that can be used to map data of arbitrary size to fixed-size valu...阅读全文

转:浅析 Linux FS-Cache

FS-Cache 直译过来就是文件系统缓存,它旨在主要给网络文件系统提供一种本地缓存的能力,这里的本地缓存是指占用本地磁盘空间,从而提升慢速网络访问性能。当然,非网络文件系统也可以使用,比如最近 EROFS 就提交了一个基于 FS-Cache 的按需 (on-demand) 读特性。本文主要通过分析 cookie 相关源码来认识该模块,参考内核 5.17。阅读全文

转:EROFS ztailpacking 特性实现详解

EROFS ztailpacking 是 Linux kernel 5.17 合入的一个新特性,它完成了 tail-packing inline 对压缩文件的支持,从而节省更多空间提升性能。这篇文章主要介绍此特性的实现过程,包括 mkfs 侧 和 Kernel 侧。阅读全文

Read vfs_read() code

主要关注page cache部分,参考Linux Kernel 4.14: 407 ssize_t __vfs_read(struct file *file, char __user *buf, size_t count, 408 loff_t *pos) 409 { 410 if (file->f_op-...阅读全文

EROFS on-disk compact index 生成分析

compact index是EROFS默认使用的压缩布局,内核提交描述如下: staging: erofs: add compacted ondisk compression indexes This patch introduces new compacted compression indexes. In contract to legacy...阅读全文