分类 File System 下的文章

Read squashfs readpage() code

内核参考5.x:const struct address_space_operations squashfs_aops = { .readpage = squashfs_readpage };static int squashfs_readpage(struct file *file, struct page *page) { ... ...阅读全文

erofs-utils mkfs 概览

参考erofs-utils 1.2.1, 入口是erofs_mkfs_build_tree(), 不关注xattr/extent, 看之前我们再了解下inode:Inodes store information about files and directories (folders), such as file ownership, access mode (read,...阅读全文

分析erofs-utils canned fs_config查找失败问题

H的erofs已经支持Android,QC/droid 10下生成镜像有如下错误:failed to find [app] in canned fs_configcode在system/core/libcutils/canned_fs_config.cpp:void canned_fs_config(const char* path, int dir, const cha...阅读全文

如何制作和挂载erofs格式vendor镜像

Android P环境,mkfs.erofs is required firstly. Let's build vendor.img with erofs format.build process for vendor with ext4看下vendor image with ext4过程:core/main.mk:1111:vendorimage: $(INSTALLE...阅读全文

erofs代码分析: on-disk inode layout

参考staging erofs,on-disk inode layout相关实现是erofs_fs.h + super.c + inode.c。data mappings先看文档介绍:- Metadata & data could be mixed by design;Different from other read-only file systems, an EROF...阅读全文

How to build mkfs.erofs for ARM64

mkfs.erofs is a user-space tool to create erofs filesystem images.erofs是华为为了增强安卓性能提出的自研文件系统,其内核文档提到用户态工具:The following git tree provides the file system user-spacetools under development ...阅读全文

pstore ramoops读写分析

pstore读写接口分别是ramoops_pstore_read()和ramoops_pstore_write_buf(),参考代码kernel4.9:static struct ramoops_context oops_cxt = { .pstore = { .owner = THIS_MODULE, .name = ...阅读全文

pstore ramoops overview

pstore就是persistent store,是一种内存文件系统,提供了一种机制用来存储一些有用的信息,最初是给带non-volatile storage的设备使用,用来debug system crash,存储的是kernel panic/oops日志,后面引入了ramoops作为backend,加入了存储kernel console log,Android平台又加...阅读全文