Linux inode 之我见
Linux硬盘组织方式为:引导区、超级块(superblock),索引结点(inode),数据块(datablock),目录块(diredtory block).其中超级块中包含了关于该硬盘或分区上的文件系统的整体信息,如文件系统的大小等;超级块后面的数据结构是索引结点,它包含了针对某一个具体文件的几乎全部信息,如文件的存取权限、所有者、大小、建立时间以及对应的目录块和数据块等;数据块是真正存储文件内容的位置.但是索引结点中不包括文件的名字,文件名是放在目录块里的.目录块里包含有文件的名字以及此文件的索引结点编号
硬盘盘片为圆形,每个硬盘盘片都有一个可以读写的磁头(Head),将这个磁头固定,使硬盘盘片旋转一周,所走轨迹就是磁道(Track)。硬盘内所有盘片的相同磁道号的集合成为磁柱(Cylinder)。每一磁道被划分成许多区域,每个区域叫一个扇区(Sector)硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。
硬盘的0磁道的第一个扇区称为MBR,它的大小是512字节,而这个区域可以分为两个部分。第一部分为pre-boot区(预启动区),占446字节;第二部分是Partition table区(分区表),占66个字节,该区相当于一个小程序,作用是判断哪个分区被标记为活动分区,然后去读取那个分区的启动区,并运行该区中的代码。不属于任何一个操作系统,也不能用操作系统提供的磁盘操作命令来读取它。但我们可以用ROM-BIOS中提供的INT13H的2号功能来读出该扇区的内容,也可用软件工具Norton8.0中的DISKEDIT.EXE来读取。
操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个 block。block的大小在格式化分区的时候就确定了。
硬盘格式化的时候,操作系统自动将硬盘分成两个区域。一个是数据区,存放文件数据;另一个是inode区(inode table),存放inode所包含的信息。每个inode节点的大小,一般是128字节或256字节。此时, inode 与 block 规划好了,除非重新格式化(或者利用 resize2fs 等命令变更文件系统大小),否则 inode 与 block 固定后就不再变动。
关于block
• SuperBlock:如前所述, Superblock 是记录整个 filesystem 相关信息的地方, 没有 Superblock ,就没有这个 filesystem 了。他记录的信息主要有:
o block 与 inode 的总量;
o 未使用与已使用的 inode / block 数量;
o 一个 block 与一个 inode 的大小;
o filesystem 的挂载时间、最近一次写入数据的时间、最近一次检验磁盘 (fsck) 的时间等档案系统的相关信息;
o 一个 valid bit 数值,若此档案系统已被挂载,则 valid bit 为 0 ,若未被挂载,则 valid bit 为 1 。
• Group Description:纪录此 block 由由何处开始记录;
• Block bitmap:此处记录那个 block 有没有被使用;
• Inode bitmap:此处记录那个 inode 有没有被使用;
• Inode table:为每个 inode 数据存放区;
• Data Blocks:为每个 block 数据存放区。
inode包含文件的元信息,具体来说有以下内容:
* 文件的字节数
* 文件拥有者的User ID
* 文件的Group ID
* 文件的读、写、执行权限
* 文件的时间戳,共有三个:ctime指inode上一次变动的时间,mtime指文件内容上一次变动的时间,atime指文件上一次打开的时间。
* 链接数,即有多少文件名指向这个inode
* 文件数据block的位置
eg:
6816307 -rw-r--r-- 1 workherd root 1073741824 Sep 10 11:22 test1126
File: `test1126'
Size: 1073741824 Blocks: 2097160 IO Block: 4096 regular file
Device: 802h/2050d Inode: 6816307 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 502/ workherd) Gid: ( 0/ root)
Access: 2017-09-10 11:22:08.607120512 +0800
Modify: 2017-09-10 11:22:19.665120370 +0800
Change: 2017-09-10 11:28:02.053153370 +0800
inode 要记录的数据非常多,但偏偏又只有 128bytes 而已, 而 inode 记录一个 block 号码要花掉 4byte。 inode 记录 block 号码的区域定义为12个直接,一个间接, 一个双间接与一个三间接记录区。 12 个直接指向 block 号码的对照,这 12 笔记录就能够直接取得 block 号码啦! 至于所谓的间接就是再拿一个 block 来当作记录 block 号码的记录区,如果文件太大时, 就会使用间接的 block 来记录编号。如果文件持续长大,那么就会利用所谓的双间接,第一个 block 仅再指出下一个记录编号的 block 在哪里, 实际记录的在第二个 block 当中。依此类推,三间接就是利用第三层 block 来记录编号。
inode 本身并不纪录文件名,而是记录档案的相关属性,至于文件名则是记录在目录所属的 block 区域。所以当我们要读取一个档案的内容时,我们的 Linux 会先由根目录 / 取得该档案的上层目录所在 inode , 再由该目录所记录的档案关连性 (在该目录所属的 block 区域) 取得该档案的 inode , 最后在经由 inode 内提供的 block 指向,而取得最终的档案内容。读取 /etc/crontab 的流程为:
1. 操作系统根据根目录( / )的相关资料可取得 /etc 这个目录所在的 inode ,并前往读取 /etc 这个目录的所有相关属性;
2. 根据 /etc 的 inode 的资料,可以取得 /etc 这个目录底下所有档案的关连数据是放置在哪一个 Block 当中,并前往该 block 读取档案的关连性内容;
3. 由上个步骤的 Block 当中,可以知道 crontab 这个档案的 inode 所在地,并前往该 inode ;
4. 由上个步骤的 inode 当中,可以取得 crontab 这个档案的所有属性,并且可前往由 inode 所指向的 Block 区域,顺利的取得 crontab 的档案内容。
Linux通过文件元信息中的Blocks和Size参数就能定位文件在磁盘的位置了
可使用命令dumpe2fs /dev/sda1 查看分析信息
Filesystem volume name: <none>
Last mounted on: /
Filesystem UUID: 66b58b73-59ce-41ba-af77-5de77824f4bf
Filesystem magic number: 0xEF53
Filesystem revision #: (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count:
Block count:
Reserved block count:
Free blocks:
Free inodes:
First block:
Block size:
Fragment size:
Reserved GDT blocks:
Blocks per group:
Fragments per group:
Inodes per group:
Inode blocks per group:
Flex block group size:
Filesystem created: Wed Jun ::
Last mount time: Sun Aug ::
Last write time: Wed Jun ::
Mount count:
Maximum mount count: -
Last checked: Wed Jun ::
Check interval: (<none>)
Lifetime writes: GB
Reserved blocks uid: (user root)
Reserved blocks gid: (group root)
First inode:
Inode size:
Required extra isize:
Desired extra isize:
Journal inode:
First orphan inode:
Default directory hash: half_md4
Directory Hash Seed: fc4e3a8c-8a9a---10a6d880e11d
Journal backup: inode blocks
Journal features: journal_incompat_revoke
Journal size: 128M
Journal length:
Journal sequence: 0x0047b425
Journal start: Group : (Blocks -) [ITABLE_ZEROED]
Checksum 0x8cdb, unused inodes
Primary superblock at , Group descriptors at -
Reserved GDT blocks at -
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories
Free blocks: , -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x8896, unused inodes
Backup superblock at , Group descriptors at -
Reserved GDT blocks at -
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x450c, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: , -, -, -, -, -, -, -, -, -, -, -, -, -, -, , -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x90df, unused inodes
Backup superblock at , Group descriptors at -
Reserved GDT blocks at -
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -, -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x33a6, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -, -, -, , -,
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xb3de, unused inodes
Backup superblock at , Group descriptors at -
Reserved GDT blocks at -
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -, -, -, -, -, -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x7131, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x139f, unused inodes
Backup superblock at , Group descriptors at -
Reserved GDT blocks at -
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x0705, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x7e07, unused inodes
Backup superblock at , Group descriptors at -
Reserved GDT blocks at -
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x488e, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xd5a7, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xbd33, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xf752, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -, -, -, -, -, -, -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x50b0, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xef1f, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xa577, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xf9f3, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x589d, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xf846, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x5a42, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xfa99, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xa520, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x134d, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xb79d, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xc3b6, unused inodes
Backup superblock at , Group descriptors at -
Reserved GDT blocks at -
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xa39a, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xc203, unused inodes
Backup superblock at , Group descriptors at -
Reserved GDT blocks at -
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xb4f7, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x142c, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xb542, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x1599, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x304d, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x84a8, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x25c6, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x90af, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x2719, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x87c2, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x26ac, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xe290, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xcac6, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x6a1d, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xcb73, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x6ba8, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xc9ac, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x6977, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xc819, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x68c2, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x435b, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x3aec, unused inodes
Backup superblock at , Group descriptors at -
Reserved GDT blocks at -
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xbeb1, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x1e6a, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xbc6e, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x1cb5, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xbddb, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x3637, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -, -, -, -, -, -, -, -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x4ed4, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x190b, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xb865, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x283f, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x5ecb, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x1a61, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xbb0f, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x1bd4, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x5a3a, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x06be, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x90d2, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x070b, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xa50f, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x05d4, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xa4ba, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x0461, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xa0b1, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x006a, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xa104, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x01df, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xa3db, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x0300, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xa26e, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x02b5, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x292c, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x509b, unused inodes
Backup superblock at , Group descriptors at -
Reserved GDT blocks at -
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xd4c6, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x741d, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xd619, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x76c2, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xd7ac, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x7777, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xd3a7, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x737c, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xd212, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x72c9, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xd0cd, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x7016, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xd178, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x71a3, unused inodes
Block bitmap at (+), Inode bitm
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [ITABLE_ZEROED]
Checksum 0x792e, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x35a2, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: , -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x41fc, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xe127, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x4323, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xe3f8, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x4296, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xe24d, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x469d, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xe646, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x4728, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xe7f3, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x45f7, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xe52c, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Checksum 0x799d, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -, -, -, -, -, -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xb86a, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xbdc9, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x952e, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -, -, -, -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xd6b8, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x231a, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x0e65, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xaebe, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at -
透过这些记录,我们可以很轻易的就知道哪些 inode 没有被使用,哪些 block 还可以记录
Linux inode 之我见的更多相关文章
- Linux inode && Fast Directory Travel Method(undone)
目录 . Linux inode简介 . Fast Directory Travel Method 1. Linux inode简介 0x1: 磁盘分割原理 字节 -> 扇区(sector)(每 ...
- Linux inode空间占满 “no space left on device”
Linux inode空间占满 提示 “no space left on device” 中文环境:“无法创建XXX目录,设备没有空间” Linux系统iNode耗尽硬盘无法写入文件怎么办?df -h ...
- linux ----Inode的结构图
http://www.ruanyifeng.com/blog/2011/12/inode.html 先看看Inode的结构图 再来了解一下文件系统如何存取文件的 1.根据文件名 ...
- linux inode已满解决方法
今天login server的一个网站,发现login后没有生成session.根据以往经验,一般是空间已满导致session文件生成失败. df -h Filesystem Size Used Av ...
- Linux inode与文件系统关系
inode只有在linux文件系统的概念(ext3,ext4) .inode节点数量与文件存储的关系. 二.在文件系统初始化时设置合适的节点数量. linux服务器在存储文件小而数量多的情况下,需要考 ...
- linux inode 详解 / 线上inode爆满解决方案
本文大量参考阮一峰大神博客,整理笔记 之所以写inode文章是由于一次线上问题,引发对inode深入的思考. 磁盘的inode监控与磁盘空间的监控同等重要,线上服务器一定要做好磁盘inode与磁盘空间 ...
- 深入浅出理解linux inode结构
一.inode是什么? 参考文档:http://tech.diannaodian.com/dw/lin/2012/0112/154629.html 做Android底层驱动或者嵌入式Linux的程序猿 ...
- 深入浅出理解linux inode结构【转】
本文转载自:https://blog.csdn.net/fantasyhujian/article/details/9151615 一.inode是什么? 参考文档:http://tech.diann ...
- Linux inode 详解
操作系统的文件数据除了实际内容之外,通常含有非常多的属性,例如Linux操作系统的文件权限与文件属性.文件系统通常会将这两部分内容分别存放在inode和block中. inode 和 block 概述 ...
随机推荐
- fpathconf
http://pubs.opengroup.org/onlinepubs/009695399/functions/pathconf.html
- Windows及Linux环境搭建Redis集群
一.Windows环境搭建Redis集群 参考资料:Windows 环境搭建Redis集群 二.Linux环境搭建Redis集群 参考资料:Redis Cluster的搭建与部署,实现redis的分布 ...
- .NET 读取视频文件
该篇文章 复制别人的文章 在.NET中处理视频是一件痛苦的事情,.NET并没有提供视频处理的类.于是咱们只能找一些第三方的类库或者自己实现,在项目时间比较赶的情况下,自己实现是不可能的了,而且说不定会 ...
- Java VS Python 应该先学哪个?
http://blog.segmentfault.com/hlcfan/1190000000361407 http://www.tuicool.com/articles/fqAzqi Java 和 P ...
- TortoiseGit和git bash冲突解决
软件版本 TortoiseGit版本: TortoiseGit 2.5.0.0 (C:\Program Files\TortoiseGit\bin) git version 2.8.1.windows ...
- UVA 1606 Amphiphilic Carbon Molecules 两亲性分子 (极角排序或叉积,扫描法)
任意线可以贪心移动到两点上.直接枚举O(n^3),会TLE. 所以采取扫描法,选基准点,然后根据极角或者两两做叉积比较进行排排序,然后扫一遍就好了.旋转的时候在O(1)时间推出下一种情况,总复杂度为O ...
- Spark性能调优之道——解决Spark数据倾斜(Data Skew)的N种姿势
原文:http://blog.csdn.net/tanglizhe1105/article/details/51050974 背景 很多使用Spark的朋友很想知道rdd里的元素是怎么存储的,它们占用 ...
- FreeRTOS笔记
任务的创建和删除(静态方法) 任务创建后要开启调度器. FreeRTOSConfig.h 1. 改宏 使能静态创建函数. 会出现,有两个函数未定义. Cortex-M中断管理(上) NVIC:嵌套向量 ...
- vue中的修饰符
Vue2.0学习笔记:Vue事件修饰符的使用 事件处理 如果需要在内联语句处理器中访问原生DOM事件.可以使用特殊变量$event,把它传入到methods中的方法中. 在Vue中,事件修饰符处理 ...
- 获取页面的title值
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...