linux之文件系统篇
梦断星魂
这个作者很懒,什么都没留下…
展开
-
文件系统一之UBI文件系统简介
在linux-2.6.27以前,谈到Flash文件系统,大家很多时候多会想到cramfs、jffs2、yaffs2等文件系统。它们也都是基于文件系统+mtd+flash设备的架构。linux-2.6.27后,内核加入了一种新型的flash文件系统UBI(Unsorted Block Images)。这里简单介绍下UBI文件系统加入的原因,及使用方法。我也是刚接触到这个文件系统,可能有理解不对的地方转载 2014-11-20 14:46:37 · 979 阅读 · 0 评论 -
UBIFS文件系统二之挂载UBIFS的代码分析
UBIFS文件系统分析(一):挂载UBIFS的代码分析2011-02-28 12:32:35分类: LINUX陆陆续续的看UBIFS很长时间了,一直没有写出一点东西。因为我在=到能够系统的理解UBIFS的时候再写出一点东西。但是因为工作比较忙,UBIFS源码读的断断续续,老是需要复习拾起,比较浪费时间,所以决定写出一点东西,做个备份吧。我决定在读UBIFS源码之前需要读两份转载 2014-11-25 15:56:44 · 2911 阅读 · 0 评论 -
UBIFS文件系统分析三之通过VFS的读写流程
1.通过VFS的写流程 断断续续的看ubifs这么久了,感觉越看越乱,所以想先从VFS的读写接口开始慢慢的扩展一下。 conststruct file_operations ubifs_file_operations = { .llseek = generic_file_llseek, .read转载 2014-11-26 11:14:51 · 2115 阅读 · 0 评论 -
UBIFS文件系统分析四之UBIFS的六个area
UBIFS中一共分为六个区,分别为superblock areamaster node areajournal (or log)areaLPT(LEB properties tree) area Orphan areaThe mian area对于第一个区我不准备做介绍,因为superblock是每一个文件系统必备的。MASTER AREA:UBIFS为了进行垃圾回转载 2014-11-26 11:42:47 · 1190 阅读 · 0 评论 -
UBIFS文件系统分析五之重要数据结构
用leeming的话来说,一个大的工程中,最最核心的往往是数据结构体的定义。所以看代码不急着看c文件,而是主要看document和h文件,来理解设计者的思路,这样才能走对路。1. struct ubi_device UBI中对于一个UBI设备的抽象是以struct ubi_device来定义,其中包括了该UBI设备的各种信息。struct ubi_device {转载 2014-11-27 17:21:03 · 2116 阅读 · 0 评论 -
UBIFS文件系统分析六之wear-leveling
2011-03-08 14:34:56分类: LINUX 在本文的开头,先接本章讲一下EBA,什么是EBA,Eraseblock Association。在上次提到structubi_volume结构体的成员变量eba_tbl的时候稍微提到了。每次文件系统需要对一个逻辑可擦除块(LEB)进行操作的时候,它就会到对应的volume的eba_tbl中去查找该逻辑可擦除块转载 2014-11-27 18:32:44 · 2644 阅读 · 1 评论 -
Ext4文件系统一之架构分析
Balloc.c (kernel\fs\ext4) 本文描述Ext4文件系统磁盘布局和元数据的一些分析,同样适用于Ext3和Ext2文件系统,除了它们不支持的Ext4的特性外。整个分析分两篇博文,分别概述布局和详细介绍各个布局的数据结构及组织寻址方式等。感兴趣的看官敬请留意和指导!1. Ext4文件系统布局综述 一个Ext4文件系统被分成一系列块组。为减少磁盘碎片产生的性能瓶颈,块转载 2014-12-04 10:59:29 · 1105 阅读 · 0 评论 -
Ext4文件系统二之架构分析
1.7 超级块 超级块记录整个文件系统的大量信息,如数据块个数、inode个数、支持的特性、管理信息,等待。 如果设置sparse_super特性标志,超级块和块组描述符表的冗余备份仅存放在编号为0或3、5、7的幂次方的块组中。如果未设置sparse_super特性标志,冗余备份存在与所有的块组中。以下是2.6.32.18内核中对Ext4超级块的描述:3.0的内核中,E转载 2014-12-04 11:02:18 · 1177 阅读 · 0 评论