冰块的博客

日拱一卒 不期而至

EROFS on-disk format

EROFS 镜像格式

阶段 1:on-disk 格式 本章所有数字都来自真实镜像,不是编造的示例。 你可以照着 1.9 节的命令一步步复现,看到和我一样的结果。 本阶段目标 读完这一章,你应该能够: 说出 EROFS 镜像里什么位置固定、什么位置自由 解释 superblock 里那几个关键字段各自”内核拿它来干什么” 给你一个 nid,算出这个 inode 在磁盘的哪个字节 说...

EROFS Prerequisites

EROFS 前置知识

阶段 0:内核存储栈前置 这一章不出现任何 EROFS 代码。 但如果你跳过它,后面每一章你都会觉得”这句话在说什么”。 本阶段目标 读完这一章,你应该能够: 说出一次 read() 从用户程序到硬件经过哪几层,每层负责回答什么问题 说清 super_block / inode / dentry / file 四个对象各自代表什么 解释 page cache 为...

EROFS Overview

EROFS 概览

EROFS 文件系统概览 资料来源:USENIX ATC’19 论文、官方内核文档、OSS 2019 / OSS China 2023 / FOSDEM 2023 / OSS NA 2024 共 6 份演讲 由AI整理归纳总结 1. 什么是 EROFS EROFS(Enhanced Read-Only File System,增强型只读文件系统) 是华为于 2017...

QEMU two-stage startup scheme

QEMU 两段式启动方案

QEMU 两段式启动方案:loader initrd + ext4 根文件系统 适用对象:需要在 QEMU guest 里以 ext4 磁盘为根文件系统 运行测试,而测试内核的 ext4/virtio-blk 都是模块(=m)的场景 环境:Code Server + QEMU + 6.6 内核 产物:rootfs-ext4.img(ext4 根)+ boot-initr...

Zram Can't change algorithm for initialized device

zram切换算法失败问题

问题 zram: Can’t change algorithm for initialized device 原因 这不是 kernel 的 bug,而是用户态(init 脚本)写 /sys/block/zram0/comp_algorithm 的顺序错误。 在 drivers/block/zram/zram_drv.c 中,__comp_algorithm_store() 会先检查...

Universal principles for file system design

文件系统设计普适原则

以前读过这本书,现在让AI重读提炼核心要点。输出还是靠谱的。 文件系统设计普适原则 AI提炼自《Practical File System Design with the Be File System》(Dominic Giampaolo, 1999) 筛选标准:只保留在多个独立文件系统实现(FFS / ext2·ext4 / XFS / NTFS / HFS / BFS / LF...

e2000q cpufreq

phytium e2000q cpu 调频

Phytium E2000Q 平台 CPU 调频架构 平台概述 Phytium 飞腾腾珑 E2000Q 标准版 关键规格: 参数 值 CPU 架构 ARM64 (ARMv8-A),big.LITTLE 异构多核 CPU 核心 2×飞腾 FTC31...

xfs introduction

xfs 文件系统介绍

XFS 文件系统 一、起源:为什么需要一个新的文件系统 1990 年代初,Silicon Graphics(SGI)的 IRIX 系统需要应对大型多处理器工作站和专业图形工作站上不断增长的磁盘阵列容量。 彼时 SGI 使用的 EFS(Extent File System)已触及多项硬性上限: 限制项 EFS XFS 的目标 ...

codebuddy webGUI

codebuddy webGUI 使用

1. Centos服务器 服务器ip地址1.2.3.4 执行命令启动服务 codebuddy --serve --host 0.0.0.0 --port 9527 # codebuddy --serve --host 0.0.0.0 --port 9527 CodeBuddy Code HTTP Server Endpoint http://0.0.0.0:9527 Web UI ...

trace pagecache

跟踪pagecache处理流程

为了研究pagecache相关代码,在嵌入式环境, 利用 ftrace 跟踪 read/write/pagefault/dropcaches 等的过程。 测试命令 # df -T Filesystem Type 1K-blocks Used Available Use% Mounted on devtmpfs devtmpf...