Ext4预留了一些inode做特殊特性使用,见下表:

inode

Purpose

0

不存在,Ext4中不存在inode 0.

1

存放损坏的数据块链表

2

根目录

3

User quota. 用户quota索引

4

Group quota. 组quota索引

5

Boot loader.

6

Undelete directory. 未删除的目录

7

预留的块组描述符inode. (用于调整inode数目)

8

日志inode索引

9

The "exclude" inode, for snapshots(?)

10

Replica inode, used for some non-upstream feature?

11

第一个非预留的inode,通常是lost+found目录,s_first_ino in the superblock.

root@ubuntu:/mnt/ext4# hexdump -C -s 1445888 -n 256/dev/sdc

/* (Inode 1, 存放损坏的数据链表) */

00161000  0000 00 00 00 00 00 00  e3 9e 2a 53 e3 9e2a 53  |..........*S..*S|

00161010  e39e 2a 53 00 00 00 00  00 00 00 00 00 0000 00  |..*S............|

00161020  0000 00 00 00 00 00 00  00 00 00 00 00 0000 00  |................|

*

00161100

root@ubuntu:/mnt/ext4# hexdump -C -s 1446144 -n 256/dev/sdc

/* (Inode 2, 根目录) */

00161100  ed41 00 00 00 10 00 00  5f 9c 2b 53 47 9c2b 53  |.A......_.+SG.+S|

00161110  479c 2b 53 00 00 00 00  00 00 03 00 08 0000 00  |G.+S............|

00161120  0000 08 00 02 00 00 00  0a f3 01 00 04 0000 00  |................|

00161130  0000 00 00 00 00 00 00  01 00 00 00 61 2100 00  |............a!..|

00161140  0000 00 00 00 00 00 00  00 00 00 00 00 0000 00  |................|

*

00161180  1c00 00 00 58 2e b0 1f  58 2e b0 1f 80 3117 bc  |....X...X....1..|

00161190  e39e 2a 53 00 00 00 00  00 00 00 00 00 0000 00  |..*S............|

001611a0  0000 00 00 00 00 00 00  00 00 00 00 00 0000 00  |................|

*

00161200

root@ubuntu:/mnt/ext4# hexdump -C -s 1446400 -n 256/dev/sdc

/* (Inode 3, user quota) */

00161200  0000 00 00 00 00 00 00  00 00 00 00 00 0000 00  |................|

*

00161300

root@ubuntu:/mnt/ext4# hexdump -C -s 1446656 -n 256/dev/sdc

/* (Inode 4,group quota) */

00161300  0000 00 00 00 00 00 00  00 00 00 00 00 0000 00  |................|

*

00161400

root@ubuntu:/mnt/ext4# hexdump -C -s 1446912 -n 256/dev/sdc

/* (Inode 5,Boot Loader) */

00161400  0000 00 00 00 00 00 00  00 00 00 00 00 0000 00  |................|

*

00161500

root@ubuntu:/mnt/ext4# hexdump -C -s 1447168 -n 256/dev/sdc

/* (Inode 6, 未删除的目录) */

00161500  0000 00 00 00 00 00 00  00 00 00 00 00 0000 00  |................|

*

00161600

root@ubuntu:/mnt/ext4# hexdump -C -s 1447424 -n 256/dev/sdc

/* (Inode 7,预留的用于存放块组描述符的的inode) */

00161600  8081 00 00 00 c0 40 00  e3 9e 2a 53 e3 9e2a 53  |......@...*S..*S|

00161610  e39e 2a 53 00 00 00 00  00 00 01 00 c8 4f00 00  |..*S.........O..|

00161620  0000 00 00 00 00 00 00  00 00 00 00 00 0000 00  |................|

*

00161650  0000 00 00 00 00 00 00  00 00 00 00 66 2100 00  |............f!..|

00161660  0000 00 00 00 00 00 00  00 00 00 00 01 0000 00  |................|

00161670  0000 00 00 00 00 00 00  00 00 00 00 00 0000 00  |................|

00161680  1c00 00 00 00 00 00 00  00 00 00 00 00 0000 00  |................|

00161690  e39e 2a 53 00 00 00 00  00 00 00 00 00 0000 00  |..*S............|

001616a0  0000 00 00 00 00 00 00  00 00 00 00 00 0000 00  |................|

*

00161700

root@ubuntu:/mnt/ext4# hexdump -C -s 1447680 -n 256/dev/sdc

/* (Inode 8,日志索引) */

00161700  8081 00 00 00 00 00 08  e4 9e 2a 53 e4 9e2a 53  |..........*S..*S|

00161710  e49e 2a 53 00 00 00 00  00 00 01 00 00 0004 00  |..*S............|

00161720  0000 08 00 00 00 00 00  0a f3 02 00 04 0000 00  |................|

00161730  0000 00 00 00 00 00 00  ff 7f 00 00 00 8008 00  |................|

00161740  ff7f 00 00 01 00 00 00  ff ff 08 00 00 0000 00  |................|

00161750  0000 00 00 00 00 00 00  00 00 00 00 00 0000 00  |................|

*

00161780  1c00 00 00 00 00 00 00  00 00 00 00 00 0000 00  |................|

00161790  e49e 2a 53 00 00 00 00  00 00 00 00 00 0000 00  |..*S............|

001617a0  0000 00 00 00 00 00 00  00 00 00 00 00 0000 00  |................|

*

00161800

root@ubuntu:/mnt/ext4# hexdump -C -s 1447936 -n 256/dev/sdc

/* (Inode 9) */

00161800  0000 00 00 00 00 00 00  00 00 00 00 00 0000 00  |................|

*

00161900

root@ubuntu:/mnt/ext4# hexdump -C -s 1448192 -n 256/dev/sdc

/* (Inode 10) */

00161900  0000 00 00 00 00 00 00  00 00 00 00 00 0000 00  |................|

*

00161a00

root@ubuntu:/mnt/ext4# hexdump -C -s 1448448 -n 256/dev/sdc

/* (Inode 11,第一个非预留的inode,通常是lost+found,s_first_ino in the superblock) */

00161a00  c041 00 00 00 40 00 00  e3 9e 2a 53 e3 9e2a 53  |.A...@....*S..*S|

00161a10  e39e 2a 53 00 00 00 00  00 00 02 00 20 0000 00  |..*S........ ...|

00161a20  0000 08 00 00 00 00 00  0a f3 01 00 04 0000 00  |................|

00161a30  0000 00 00 00 00 00 00  04 00 00 00 62 2100 00  |............b!..|

00161a40  0000 00 00 00 00 00 00  00 00 00 00 00 0000 00  |................|

*

00161a80  1c00 00 00 00 00 00 00  00 00 00 00 00 00 0000  |................|

00161a90  e39e 2a 53 00 00 00 00  00 00 00 00 00 0000 00  |..*S............|

00161aa0  0000 00 00 00 00 00 00  00 00 00 00 00 0000 00  |................|

*

00161b00

root@ubuntu:/mnt/ext4#

[ext4]06 磁盘布局 - 特殊inode的更多相关文章

  1. [ext4]07 磁盘布局 - 块/inode分配策略

    Ext4系统从设计上就认为数据局部性是文件系统的文件系统的一个理想品质. 在机械硬盘上,相关联的数据存放在相近的blocks上,可以使得在访问数据时减少磁头驱动器的移动距离,从而加快IO访问. 在SS ...

  2. [ext4]04 磁盘布局 - Meta Block Groups

    Meta Block Groups,可以翻译为元块组集. 如果不采用Meta Block Groups特性,在每个冗余备份的超级块的后面是一个完整的(包含所有块组描述符的)块组描述符表的备份.如前所述 ...

  3. [ext4]010 磁盘布局 - 如何查找inode的磁盘位置

    在linux系统中,任何一个文件,都有一个inode与其对应,也就是说,在一个文件系统中,一个文件都有唯一的ino来标示他,那么在ext4系统中,ino是如何确定的哪? 当我们新创建的文件或目录时,会 ...

  4. [ext4]03 磁盘布局 – Flexible group分析

    Flexible Block Groups (flex_bg),我称之为"弹性块组",是EXT4文件系统引入的一个feature. 所谓Flexible Block Groups, ...

  5. [ext4]08 磁盘布局 - CheckSums

    从2012年开始,Ext4和jbd2的元数据中都开始加入checksums.特性标识是metadata_csum.Checksum算法是在super_block中指定: struct ext4_sup ...

  6. [ext4]05 磁盘布局 - 延迟块组初始化

    延迟块组初始化,Ext4的新特性.如果对应的特性标识uninit_bg置位,那么inode bitmap和inode tables就不会初始化. 延迟块组初始化特性特性可以减少格式化耗时. 延迟块组初 ...

  7. [ext4]09 磁盘布局 - superblock备份机制

    如果sparse_super特性flag被设置(即开启了sparse_super特性),那么super_block和组描述符的副本只会保存在group索引为0或3.5.7的整数幂. 如果没有设置spa ...

  8. [ext4]01 磁盘布局 - block分析

    ext4文件系统最基本的分配单元是"block"(块). block是由一组连续的sectors来组成,其大小介于1k~4K之间,当然不可能是任意值,只能是2的整数次幂个secto ...

  9. [ext4]磁盘布局 - inode bitmap & table

    在[磁盘布局 group部分]已经介绍过ext4的整体布局,其中存在两个与inode有关的名称:inode bitmap和inode table. Inode bitmap,用于表示inode tab ...

随机推荐

  1. 关于web测试收集

    页面部分 页面清单是否完整(是否已经将所需要的页面全部都列出来了) 页面是否显示(在不同分辨率下页面是否存在,在不同浏览器版本中页面是是否显示) 页面在窗口中的显示是否正确.美观(在调整浏览器窗口大小 ...

  2. 二、Fragment+RadioButton实现底部导航栏

    在App中经常看到这样的tab底部导航栏   那么这种效果是如何实现,实现的方式有很多种,最常见的就是使用Fragment+RadioButton去实现.下面我们来写一个例子 首先我们先在activi ...

  3. (30)批处理文件.bat

    批处理文件(bat) 简单的说,批处理的作用就是自动的连续执行多条命令 .编写bat处理文件可以使用记事本的方式: 常见批处理文件的命令: echo 表示显示此命令后的字符 tiltle 设置窗口的标 ...

  4. 解决MVC中JsonResult返回 弹出文件下载对话框

    设置一下返回类型为HTML TEXT就可以了 JsonResult json = Json(xxx, JsonRequestBehavior.DenyGet); json.ContentType = ...

  5. 用代码控制退出APP

    + (void)exitApplication { AppDelegate *app = [UIApplication sharedApplication].delegate; UIWindow *w ...

  6. JPlayer Jquery video视频插件

    近日一直在搜关于视频的jquery插件,要求功能全,跨平台,百思不得其解,偶尔找到一个插件JPlayer,国产的,很全.为什么选择JPlayer 简单:几分钟就可以上手编码.部署 可定制:可以方便地用 ...

  7. OOP的完美点缀—AOP之SpringAOP实现原理

    OOP的完美点缀-AOP之SpringAOP实现原理 前言 OOP与AOP OOP(Object Oriented Programming,面向对象编程),通过封装.继承将程序抽象为各个层次的对象,进 ...

  8. WPF之路一:相对路径图片显示

    由于公司项目的需要,改为WPF开发,因此需要学习WPF,遇到的第一个问题就是在显示的图片的时候,写绝对路径,图片显示没有问题,但是写相对路径的时候,发现图片无法正常显示,在网上搜了一下,得到的答案是需 ...

  9. [深入学习Redis]RedisAPI的原子性分析

    在学习Redis的常用操作时,经常看到介绍说,Redis的set.get以及hset等等命令的执行都是原子性的,但是令自己百思不得其解的是,为什么这些操作是原子性的? 原子性 原子性是数据库的事务中的 ...

  10. 什么东西那么吸引别人的眼球!! -----------------------------------for循环

    认识for循环结构 在编码过程中,把一些重复执行代码采用循环结构进行描述,可以大大减化编码工作, 使得代码更加简洁.宜都... 1.     为什么要用for? 比如: 老师叫小明统计全班人的编号,小 ...