2022年

How to enable KASAN in Ubuntu 18.04 for X86_64

末日都过了,还在用 Ubuntu 18.04? 好吧,我觉得应该有很多人都在用。。。废话少说,上游 syzbot 天天查你,这不 KASAN bug 又来了,先来看看怎么使能 KASAN。直接 menuconfig 按如下路径愣是找不到:Kernel hacking -> Memory Debugging来看下配置说明,在lib/Kconfig.kasan 里: ...阅读全文

如何分析 Linux user space's segmentation fault

Linux 用户态码字有时会遇到如下错误:Segmentation fault (core dumped) ..当你没头绪时,或许可以借用工具来定位。这个错误中 core dumped 提示生成了一个 core 文件。那它在哪了?如何分析? 具体来看,OS 是 Ubuntu 18.04。Step 1. check core 文件大小tj@u1804:~/code...阅读全文

EROFS 碎片去重准备

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

优秀代码命名法

有人说过写代码就像弹棉花(^_^),不好意思,说错了,是弹piano。我觉得写代码就像写文章,文章写出来是要给人看的(不排除自lian型),词不达意,肯定不是好文章。能做到信达雅,那都是高高手。“金山银山就是绿水青山”,抬头看看这高度!只有好文章才能被收录(like upstream Linux kernel),rt? 再看看老外金句:There are only two...阅读全文

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。阅读全文