
文件系统
文章平均质量分 84
Blue summer
这个作者很懒,什么都没留下…
展开
-
文件系统之file
注:本文分析基于linux-4.18.0-193.14.2.el8_2内核版本,即CentOS 8.24 file4.1 file主要成员变量4.2 创建file4.3 删除file原创 2021-04-14 22:00:07 · 553 阅读 · 0 评论 -
文件系统之dentry
注:本文分析基于linux-4.18.0-193.14.2.el8_2内核版本,即CentOS 8.23 dentry3.1 dentry主要成员变量3.2 添加dentry到cache3.3 从cache中删除dentry(回收dentrycache)4 file4.1 file主要成员变量4.2 创建file4.3 删除file原创 2021-04-03 13:20:36 · 3221 阅读 · 0 评论 -
文件系统之inode
2 inode2.1 inode主要成员变量2.2 添加inode到cache2.3 从cache中删除inode(回收inode cache)3 dentry3.1 dentry主要成员变量3.2 添加dentry到cache3.3 从cache中删除dentry(回收dentrycache)4 file4.1 file主要成员变量4.2 创建file4.3 删除file...原创 2021-03-28 21:52:26 · 2794 阅读 · 0 评论 -
文件系统之super_block
注:本文分析基于linux-4.18.0-193.14.2.el8_2内核版本,即CentOS 8.21 super_blocksuper_block,即超级块代表的是一种文件系统类型,比如ext3、ext4都有对应的super_block结构体。一台机器可以有多块硬盘,一个硬盘可以有多个分区,每个分区都有自己的文件系统类型,可以是一样的,也可以不一样。我们来了解下超级块的主要成员变量。1.1 super_block主要成员变量在这里插入代码片1.2 注册一个文件系统内核为了管理系统上的所有文原创 2021-03-26 19:57:45 · 3218 阅读 · 4 评论 -
vm内核参数之IO写入记录block_dump
https://www.cnblogs.com/zengkefu/p/5639200.htmlhttps://www.cnblogs.com/zengkefu/p/5639167.htmlhttps://blog.youkuaiyun.com/Bruceleexiaokan/article/details/8207443原创 2020-08-16 22:40:23 · 1118 阅读 · 0 评论 -
BDI各个结构体关系
BDI各个结构体关系每块磁盘对应着一个BDI设备,用struct backing_dev_info表示系统上所有BDI设备通过struct list_head bdi_list;链表串在一起一个BDI设备对应一个struct bdi_writeback结构,存放该设备需要处理的脏页及脏页回写函数struct delayed_work定义了一个延迟任务,其处理函数也就是脏页回写函数,bdi_writeback_workfnstruct list_head b_dirty存放该BDI所有dirty原创 2020-08-16 17:15:14 · 1291 阅读 · 3 评论 -
Ext4文件系统日志模式——journal、ordered、writeback
Journal is the lowest risk mode, writing both data and metadata to the journal before committing it to the filesystem. This ensures consistency of the file being written to, as well as the filesystem...原创 2020-01-09 20:51:49 · 5431 阅读 · 0 评论 -
查看pagesize和blocksize以及inodesize
1、查看pagesize[root@CentOS-7-2 ~]# getconf PAGE_SIZE40962、查看blocksize[root@CentOS-7-2 ~]# tune2fs -l /dev/sda1 | grep -i "block size"Block size: 4096原创 2019-10-29 12:39:16 · 2288 阅读 · 0 评论 -
文件系统选项之noatime、nodiratime
1、关于文件的几个时间我们通过stat命令查看文件的信息,[root@CentOS-6-5 /home]# stat a File: `a' Size: 12552 Blocks: 32 IO Block: 4096 regular fileDevice: 802h/2050d Inode: 1177548 Links: 1Access: (0...原创 2019-10-26 22:35:51 · 2845 阅读 · 0 评论 -
Linux open系统调用(四)
注:本文分析基于3.10.0-693.el7内核版本,即CentOS 7.4上回说到普通目录的情况,这次接着说说符号链接的事。static inline int walk_component(struct nameidata *nd, struct path *path, int follow){ ... if (unlikely(nd->last_type != LAST_N...原创 2019-03-05 16:53:15 · 697 阅读 · 0 评论 -
Linux open系统调用(三)
注:本文分析基于3.10.0-693.el7内核版本,即CentOS 7.4上回说到".“和”.."两个目录项,如果打开的文件目录是一个正常绝对路径呢,如,/home/test.txt,那这个时候就是普通目录的处理了。static inline int walk_component(struct nameidata *nd, struct path *path, int follow){...原创 2019-03-01 20:03:45 · 727 阅读 · 0 评论 -
Linux open系统调用(二)
注:本文分析基于3.10.0-693.el7内核版本,即CentOS 7.4上回说到根据用户给的路径,通过path_init函数设定起始目录nd->path,那接下来就要遍历目录了,我们从link_path_walk函数开始分析。static int link_path_walk(const char *name, struct nameidata *nd){ struct path...原创 2018-10-23 11:31:39 · 1114 阅读 · 0 评论 -
Linux open系统调用(一)
SYSCALL_DEFINE3(open, const char __user *, filename, int, flags, umode_t, mode){ //对于64位系统会添加O_LARGEFILE选项,以便能打开大文件 if (force_o_largefile()) flags |= O_LARGEFILE; return do_sys_open(AT_FDCWD, ...原创 2018-10-16 21:53:01 · 3385 阅读 · 0 评论