ILD

pahtname lookup
2026-3-17
首先我们需要了解dentry和inode的基本知识,见参考文档。哪些地方会查找目录呢,入口1 执行stat()去读取一个文件的属性的时候,就需要查找到dentry。fs/stat.cvfs_statx() ->fs/namei.cfilename_lookup()2 打开文件fs/open.cdo_

dentry lifetime
2026-3-23
dentry有两个哈希表,一个是主哈希表,一个是in lookup哈希表。Alloc分配一个alloc,接口有:struct dentry *d_alloc(struct dentry * parent, const struct qstr *name)struct dentry *d_alloc_

dentry state
2026-4-22
struct dentry_stat定义在linux/include/linux/dcache.h,包含了dentry的一些信息。struct dentry_stat_t dentry_stat { int nr_dentry; int nr_unused; int a

drop caches
2026-5-27
执行:echo 3 > /proc/sys/vm/drop_caches内核入口:fs/drop_caches.cdrop_caches_sysctl_handler()如果bit 1设置了,1或3。则表示清空page cache。为每个super block,调用下面的函数。static void

negative dentry
2026-6-1
dentry有一个d_flags字段,dentry最重要的状态,保存在这个flags里面。这个d_flags,有时由dentry->d_lock保护。有时由dentry->d_seq保护。有时由smp_load_acquire()读取有时又直接访问。核心思想理解:dentry处于不同的状态下,用不同

inode lifetime
2026-5-27
本文阅读fs/inode.c,进行学习。new inode分配inode一般在fs的lookup函数,或者create函数中,调用new_inode(sb)分配inode,然后fill inode,初始化inode的fops等成员。fs/inode.cstruct inode *new_inode(

software RAID
2026-6-17
官方名称:RAID arraysMD (multiple device)内核选项:+CONFIG_MD=y+CONFIG_BLK_DEV_MD=m+# CONFIG_MD_BITMAP_FILE is not set+CONFIG_MD_LINEAR=m+CONFIG_MD_RAID0=m+CONF

Copyright © linuxdev.cc 2017-2024. Some Rights Reserved.