linux内核之文件系统
文章平均质量分 88
lieye_leaves
这个作者很懒,什么都没留下…
展开
-
DM-VERITY流程分析
dm-verity流程分析原创 2022-11-22 12:43:34 · 2670 阅读 · 0 评论 -
linux下inotify机制文件监控代码示例
#include <sys/inotify.h>#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <sys/select.h>#define EVENT_SIZE (sizeof(struct inotify_event))#define BUF_LEN (1024*(EVENT_SIZE+16))void inotify_fun(struct in原创 2022-05-20 11:05:34 · 418 阅读 · 0 评论 -
EXT4文件系统之多块分配
EXT4文件系统之多块分配如果文件inode支持延迟分配,则可以略过空间查找和磁盘配额的分支,因为他们已经被准备好了。如果空间查找为0,则返回ENOSPC;如果磁盘配额为0,则返回EDQUOT;两者都无法分配空间。在多块分配的时候用到了radix_tree数据结构,将块结构描述符的块组保存到缓存中,但是这样的数据保存了两份,分别为bd_buddy和bd_bitmapstruct ext原创 2017-12-07 15:48:19 · 1315 阅读 · 0 评论 -
EXT4文件系统之extents的ext4_get_block()
static int ext4_ext_insert_index(handle_t *handle, struct inode *inode, struct ext4_ext_path *curp, int logical, ext4_fsblk_t ptr){ 新的数据块插入当前的路径深度里。}static int ext4_ext_split(handle_t原创 2017-12-06 11:36:54 · 1414 阅读 · 0 评论 -
EXT4文件系统之间接块的ext4_get_block()
static int ext4_alloc_branch(handle_t *handle, struct inode *inode, ext4_lblk_t iblock, int indirect_blks, int *blks, ext4_fsblk_t goal, ext4_lblk_t *offsets, Indirect *branch)原创 2017-12-06 11:34:39 · 1078 阅读 · 0 评论 -
EXT4文件系统之ext4_fill_super()
EXT4文件系统之ext4_fill_super()一.概述 在磁盘挂载的时候文件系统需要从磁盘中读取超级块来填充内存中的结构,EXT4文件系统超级块的填充是由函数ext4_fill_super()来完成的。在EXT4文件系统中,磁盘上的超级块结构是与结构体structext4_super_block的定义是一致的,大小是1K,即1024个字节。顺便提下,EXT3文件系统超级块在磁盘...原创 2017-11-26 21:10:26 · 2489 阅读 · 0 评论 -
EXT4文件系统的磁盘布局
EXT4文件系统的磁盘布局一.磁盘空间的计算EXT4文件系统是从EXT2/EXT3文件系统上继承和发展而来的,EXT4也使用EXT2/EXT3的一些元数据的概念,如超级块,块组描述符,块组位图,节点位图,节点数据,在EXT2/EXT3中还有间接数据块,EXT4的节点如果不用content结构的话,也应该有间接数据块的概念,因为EXT4在某些情况下会与EXT3文件系统兼容。在EXT2/E原创 2017-11-11 16:08:46 · 4428 阅读 · 0 评论 -
EXT3日志文件系统之address_space_operation
EXT3日志文件系统之address_space_operation一.前言Ext3文件系统具有日志的功能,有三种日志模式,journal, ordered, writeback。但是EXT3文件系统的磁盘结构与EXT2文件系统是一样的,EXT3的日志可以是一个文件(此时inode的节点号是8),也可以保存在某个分区上。二.与具体日志模式结合的写文件函数static const s原创 2017-11-04 13:35:57 · 1082 阅读 · 0 评论 -
eMMC ext4综述
eMMC ext4综述一.系统的引导启动1.1系统的引导启动https://javigon.com/2012/08/24/from-poweron-to-android-the-boot-sequence/ 通常,引导设备的块0包含着主引导记录(MasterBoot Record MRB),这个块包含着设备分区表(partition table)的信息。当设备加电启动的时候原创 2017-10-12 14:22:09 · 5086 阅读 · 0 评论 -
How to use Ext4 如何使用EXT4
How to use Ext4 如何使用EXT4https://kernelnewbies.org/Ext4 有以下三种方式使用EXT4文件系统:一.创建新的EXT4文件系统对于新文件系统的安装,最简单也是推荐的方法,使用工具mkfs.ext4二.将现有的EXT3文件系统迁移到EXT4使用tune2fs和fsck文件系统工具,先卸载原有的分区,执行Tune2fs –翻译 2017-10-17 19:37:32 · 530 阅读 · 0 评论 -
EXT3文件系统的日志模式
EXT3文件系统的日志模式Ext3文件系统有三种日志模式:1. Journal日志文件系统所有数据和元数据的改变都被记入日志。这种模式减少了丢失每个文件修改的机会,但是它需要很多额外的磁盘访问。例如,当一个新文件被创建时,它的所有数据块都必须复制一份作为日志记录。这是最安全和最慢的EXT3日志模式。2. Ordered预定只有对文件系统元数据的改变才原创 2017-10-17 20:08:59 · 1451 阅读 · 0 评论 -
ext4的extent解析
ext4的extent解析http://blog.csdn.net/kai_ding/article/details/9958031概述 前面我们在阐述ext2文件系统实现原理的时候了解到,ext2文件系统采用了直接+多级间接映射的方式来存储逻辑块号到物理块号的映射关系。这种方式不仅实现起来较为复杂,而且在面对大文件的时候效率较为低下,且会浪费很多的间接块以存储映转载 2017-01-31 21:56:58 · 4716 阅读 · 0 评论 -
ext4的延迟分配
ext4的延迟分配http://blog.csdn.net/kai_ding/article/details/9914629Ext4文件系统在应用程序调用write的时候并不为缓存页面分配对应的物理磁盘块,当文件的缓存页面真正要被刷新至磁盘中时,ext4会为所有未分配物理磁盘块的页面缓存分配尽量连续的磁盘块。 Linux文件系统Vfs层总是将应用程序的写入请求转载 2017-01-31 21:53:45 · 2792 阅读 · 0 评论 -
ext4文件系统综述
ext4文件系统综述 http://blog.csdn.net/kai_ding/article/details/9914619从本篇博客起,我们开始研究现代文件系统ext4,说其现代是因为其相比传统文件系统,有着更现代化的设计。这些先进的特性体现在本文所要叙述的以下方面。 Ext4是Linux文件系统的一次革命。在很多方面,Ext4相对于Ext3的进步要远转载 2017-01-31 21:50:41 · 412 阅读 · 0 评论 -
剖析 ext4
剖析 ext4 转自:http://www.ibm.com/developerworks/cn/linux/l-anatomy-ext4/index.html了解第 4 个扩展文件系统第 4 个扩展文件系统,即 ext4,是下一代的日志文件系统,它与上一代文件系统 ext3 是向后兼容的。尽管 ext4 目前还不是标准文件系统,但它将成为大部分下一代 Linux® 发行转载 2017-01-20 22:00:43 · 514 阅读 · 0 评论