前言

一个文件 会对应于一个 inode, 存储的是文件的 元数据信息 

创建时间, 更新时间, 访问时间, 读写权限, 等等 

inode 是 vfs 中的重要组成部分 

我们这里 就来看一下 新建 inode 的一些过程 

我们这里基于 linux-4.10 + ext4 fs

调试 新建 inode

执行命令如下, 来 新建文件 + 持久化文件内容 

echo "1" >> 1.txt

这个过程 调用系统调用 open 的时候, 会发现没有 1.txt, 会新建给定的文件 

33 新建 inode 的流程的调试_linux

创建文件的 inode 主要分为几个部分, 一部分是 新建 inode, 一部分是初始化 inode, 一部分是向 super_block/group 注册

33 新建 inode 的流程的调试_inode_02

新建 inode

新建 inode 通常来说是基于 super_block.s_op.alloc_inode 

最终的具体实现是基于 slab 分配 ext4_inode_info 

创建完了 inode 之后会和 super_block.s_inodes 

33 新建 inode 的流程的调试_vfs_03

初始化 inode, 以及和 group 建立关联

 初始化 inode 的 所属用户, 所属组, mode 

33 新建 inode 的流程的调试_file_04

寻找合适的 group, 并查找合适的可用的 inode 位置

33 新建 inode 的流程的调试_inode_05

 从目标 group 中查找合适的可用的 inode 位置

33 新建 inode 的流程的调试_sed_06

给当前 inode 注册 在 group 中的位置 

33 新建 inode 的流程的调试_linux_07

根据 group 和 ino 计算 inode 的编号, ext4 中是一个简单的线性转换 

更新 inode 的创建时间, 修改时间, 访问时间 什么的 

初始化 ext_inode_info 的其他字段 

33 新建 inode 的流程的调试_file_08

寻找 group 的方式 

从父目录的 的 group 往后找, 最多往后找 flxex_size 个 group, 找到可用的 group 返回 

大部分的情况在 父目录的 group 这里就能够找到可用的 inode 的位置, 直接返回, 比如这里的情况 

33 新建 inode 的流程的调试_inode_09

其次找 父目录的 group, 是否有可用的 inode, 如果有 直接返回 

33 新建 inode 的流程的调试_file_10

再其次, 初始化为 (父目录的 group + ino) 计算 group, 然后以 2^0, 2^1, 2^2, ... 为增量寻找可用的 group 

33 新建 inode 的流程的调试_file_11

 最后以 父目录的 group 为基础, 线性查找, 查找可用的 group 

33 新建 inode 的流程的调试_file_12

处理并发场景, 外层初始化 inode 的地方还有 group 的重试 的相关逻辑 

33 新建 inode 的流程的调试_file_13

在 group 中查询可用的 ino

这里是基于某一个 group, 查找 group 所在的 inode_bitmap, 来查询可用的 ino 

并进行 原子更新, 如果更新失败, 重新进行重试 

33 新建 inode 的流程的调试_vfs_14

查看文件系统信息 

当前目录是 "/dir", 从上面我们可以看出 我们创建的 1.txt 是在第 16 group 

新建一个 2.txt 

16 * 2040 = 32640

第一个 inode 是 "." inode 编号为 32641 

第二个 inode 是 "Test04Getcwd" inode 编号为 32642 

第三个 inode 是 "1.txt" inode 编号为 32643 

第四个 inode 是 "2.txt" inode 编号为 32644 

(initramfs) ls -ail 
      2 drwxr-xr-x    3      1024 ..
  32641 drwxr-xr-x    2      1024 .
  32642 -rwxr-xr-x    1      8768 Test04Getcwd
  32644 -rw-r--r--    1         2 2.txt
  32643 -rw-r--r--    1         2 1.txt

通过 dumpe2fs 查看一下 /dev/sda, 我们这里主要观察 group 16 

可以看到 每一个 group 可以分配 2040 个 inode 

这里 group 16 分配了四个, 剩余可以使用 2036 个 inode, 下一个可用的 inode 编号是 32645 

这个和上面调试的内核代码, 和 ls 的输出 是完全匹配的 

(initramfs) dumpe2fs /dev/sda 
dumpe2fs 1.42.13 (17-May-2015)
Filesystem volume name:   <none>
Last mounted on:          /jerry
Filesystem UUID:          f58458d9-c47a-418e-b33e-5a7167c7fe06
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (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 with errors
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              89760
Block count:              358400
Reserved block count:     17920
Free blocks:              335470
Free inodes:              89719
First block:              1
Block size:               1024
Fragment size:            1024
Reserved GDT blocks:      256
Blocks per group:         8192
Fragments per group:      8192
Inodes per group:         2040
Inode blocks per group:   255
Flex block group size:    16

Group 16: (Blocks 131073-139264) [ITABLE_ZEROED]
  Checksum 0xe0a5, unused inodes 2036
  Block bitmap at 131073 (+0), Inode bitmap at 131089 (+16)
  Inode table at 131105-131359 (+32)
  4080 free blocks, 2036 free inodes, 0 directories, 2036 unused inodes
  Free blocks: 135186-139264
  Free inodes: 32645-34680

列一下完整的 dumpe2fs 的输出 

(initramfs) dumpe2fs /dev/sda 
dumpe2fs 1.42.13 (17-May-2015)
Filesystem volume name:   <none>
Last mounted on:          /jerry
Filesystem UUID:          f58458d9-c47a-418e-b33e-5a7167c7fe06
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (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 with errors
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              89760
Block count:              358400
Reserved block count:     17920
Free blocks:              335470
Free inodes:              89719
First block:              1
Block size:               1024
Fragment size:            1024
Reserved GDT blocks:      256
Blocks per group:         8192
Fragments per group:      8192
Inodes per group:         2040
Inode blocks per group:   255
Flex block group size:    16
Filesystem created:       Sat Nov 26 08:05:43 2022
Last mount time:          Sat Dec 10 02:43:02 2022
Last write time:          Sat Dec 10 02:46:53 2022
Mount count:              12
Maximum mount count:      -1
Last checked:             Sat Nov 26 08:05:43 2022
Check interval:           0 (<none>)
Lifetime writes:          13 MB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group unknown)
First inode:              11
Inode size:	          128
Journal inode:            8
Default directory hash:   half_md4
Directory Hash Seed:      28899bb3-0466-4d5d-8593-267dbc58e80f
Journal backup:           inode blocks
FS Error count:           5
First error time:         Sat Dec  3 03:30:43 2022
First error function:     ext4_mb_generate_buddy
First error line #:       758
First error inode #:      0
First error block #:      0
Last error time:          Sat Dec 10 02:46:53 2022
Last error function:      __ext4_new_inode
Last error line #:        1066
Last error inode #:       0
Last error block #:       0
Journal features:         (none)
Journal size:             8M
Journal length:           8192
Journal sequence:         0x0000002f
Journal start:            1


Group 0: (Blocks 1-8192) [ITABLE_ZEROED]
  Checksum 0x6796, unused inodes 2002
  Primary superblock at 1, Group descriptors at 2-3
  Reserved GDT blocks at 4-259
  Block bitmap at 260 (+259), Inode bitmap at 276 (+275)
  Inode table at 292-546 (+291)
  3806 free blocks, 2001 free inodes, 3 directories, 2002 unused inodes
  Free blocks: 4387-8192
  Free inodes: 38-2040
Group 1: (Blocks 8193-16384) [INODE_UNINIT, ITABLE_ZEROED]
  Checksum 0x89d9, unused inodes 2040
  Backup superblock at 8193, Group descriptors at 8194-8195
  Reserved GDT blocks at 8196-8451
  Block bitmap at 261 (bg #0 + 260), Inode bitmap at 277 (bg #0 + 276)
  Inode table at 547-801 (bg #0 + 546)
  6866 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 8506, 9507-9728, 9730-16384
  Free inodes: 2041-4080
Group 2: (Blocks 16385-24576) [INODE_UNINIT, ITABLE_ZEROED]
  Checksum 0xd37e, unused inodes 2040
  Block bitmap at 262 (bg #0 + 261), Inode bitmap at 278 (bg #0 + 277)
  Inode table at 802-1056 (bg #0 + 801)
  8003 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 16385-24576
  Free inodes: 4081-6120
Group 3: (Blocks 24577-32768) [INODE_UNINIT, ITABLE_ZEROED]
  Checksum 0xc322, unused inodes 2040
  Backup superblock at 24577, Group descriptors at 24578-24579
  Reserved GDT blocks at 24580-24835
  Block bitmap at 263 (bg #0 + 262), Inode bitmap at 279 (bg #0 + 278)
  Inode table at 1057-1311 (bg #0 + 1056)
  7871 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 24836-32768
  Free inodes: 6121-8160
Group 4: (Blocks 32769-40960) [INODE_UNINIT, ITABLE_ZEROED]
  Checksum 0xd93c, unused inodes 2040
  Block bitmap at 264 (bg #0 + 263), Inode bitmap at 280 (bg #0 + 279)
  Inode table at 1312-1566 (bg #0 + 1311)
  8168 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 32780-32800, 32812-32817, 32819-33280, 33282-40960
  Free inodes: 8161-10200
Group 5: (Blocks 40961-49152) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
  Checksum 0xa0c7, unused inodes 2040
  Backup superblock at 40961, Group descriptors at 40962-40963
  Reserved GDT blocks at 40964-41219
  Block bitmap at 265 (bg #0 + 264), Inode bitmap at 281 (bg #0 + 280)
  Inode table at 1567-1821 (bg #0 + 1566)
  7933 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 41220-49152
  Free inodes: 10201-12240
Group 6: (Blocks 49153-57344) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
  Checksum 0x8ade, unused inodes 2040
  Block bitmap at 266 (bg #0 + 265), Inode bitmap at 282 (bg #0 + 281)
  Inode table at 1822-2076 (bg #0 + 1821)
  8192 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 49153-57344
  Free inodes: 12241-14280
Group 7: (Blocks 57345-65536) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
  Checksum 0xd27b, unused inodes 2040
  Backup superblock at 57345, Group descriptors at 57346-57347
  Reserved GDT blocks at 57348-57603
  Block bitmap at 267 (bg #0 + 266), Inode bitmap at 283 (bg #0 + 282)
  Inode table at 2077-2331 (bg #0 + 2076)
  7933 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 57604-65536
  Free inodes: 14281-16320
Group 8: (Blocks 65537-73728) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
  Checksum 0x5b83, unused inodes 2040
  Block bitmap at 268 (bg #0 + 267), Inode bitmap at 284 (bg #0 + 283)
  Inode table at 2332-2586 (bg #0 + 2331)
  8192 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 65537-73728
  Free inodes: 16321-18360
Group 9: (Blocks 73729-81920) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
  Checksum 0x3caf, unused inodes 2040
  Backup superblock at 73729, Group descriptors at 73730-73731
  Reserved GDT blocks at 73732-73987
  Block bitmap at 269 (bg #0 + 268), Inode bitmap at 285 (bg #0 + 284)
  Inode table at 2587-2841 (bg #0 + 2586)
  7933 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 73988-81920
  Free inodes: 18361-20400
Group 10: (Blocks 81921-90112) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
  Checksum 0x16b6, unused inodes 2040
  Block bitmap at 270 (bg #0 + 269), Inode bitmap at 286 (bg #0 + 285)
  Inode table at 2842-3096 (bg #0 + 2841)
  8192 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 81921-90112
  Free inodes: 20401-22440
Group 11: (Blocks 90113-98304) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
  Checksum 0xf64b, unused inodes 2040
  Block bitmap at 271 (bg #0 + 270), Inode bitmap at 287 (bg #0 + 286)
  Inode table at 3097-3351 (bg #0 + 3096)
  8192 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 90113-98304
  Free inodes: 22441-24480
Group 12: (Blocks 98305-106496) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
  Checksum 0x5807, unused inodes 2040
  Block bitmap at 272 (bg #0 + 271), Inode bitmap at 288 (bg #0 + 287)
  Inode table at 3352-3606 (bg #0 + 3351)
  8192 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 98305-106496
  Free inodes: 24481-26520
Group 13: (Blocks 106497-114688) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
  Checksum 0x6973, unused inodes 2040
  Block bitmap at 273 (bg #0 + 272), Inode bitmap at 289 (bg #0 + 288)
  Inode table at 3607-3861 (bg #0 + 3606)
  8192 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 106497-114688
  Free inodes: 26521-28560
Group 14: (Blocks 114689-122880) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
  Checksum 0xb3bb, unused inodes 2040
  Block bitmap at 274 (bg #0 + 273), Inode bitmap at 290 (bg #0 + 289)
  Inode table at 3862-4116 (bg #0 + 3861)
  8192 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 114689-122880
  Free inodes: 28561-30600
Group 15: (Blocks 122881-131072) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
  Checksum 0x8add, unused inodes 2040
  Block bitmap at 275 (bg #0 + 274), Inode bitmap at 291 (bg #0 + 290)
  Inode table at 4117-4371 (bg #0 + 4116)
  8192 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 122881-131072
  Free inodes: 30601-32640
Group 16: (Blocks 131073-139264) [ITABLE_ZEROED]
  Checksum 0xe0a5, unused inodes 2036
  Block bitmap at 131073 (+0), Inode bitmap at 131089 (+16)
  Inode table at 131105-131359 (+32)
  4080 free blocks, 2036 free inodes, 0 directories, 2036 unused inodes
  Free blocks: 135186-139264
  Free inodes: 32645-34680
Group 17: (Blocks 139265-147456) [INODE_UNINIT, ITABLE_ZEROED]
  Checksum 0xa697, unused inodes 2040
  Block bitmap at 131074 (bg #16 + 1), Inode bitmap at 131090 (bg #16 + 17)
  Inode table at 131360-131614 (bg #16 + 287)
  0 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 
  Free inodes: 34681-36720
Group 18: (Blocks 147457-155648) [INODE_UNINIT, ITABLE_ZEROED]
  Checksum 0xf4b8, unused inodes 2040
  Block bitmap at 131075 (bg #16 + 2), Inode bitmap at 131091 (bg #16 + 18)
  Inode table at 131615-131869 (bg #16 + 542)
  8190 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 147459-155648
  Free inodes: 36721-38760
Group 19: (Blocks 155649-163840) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
  Checksum 0x681a, unused inodes 2040
  Block bitmap at 131076 (bg #16 + 3), Inode bitmap at 131092 (bg #16 + 19)
  Inode table at 131870-132124 (bg #16 + 797)
  8192 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 155649-163840
  Free inodes: 38761-40800
Group 20: (Blocks 163841-172032) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
  Checksum 0x66e7, unused inodes 2040
  Block bitmap at 131077 (bg #16 + 4), Inode bitmap at 131093 (bg #16 + 20)
  Inode table at 132125-132379 (bg #16 + 1052)
  8192 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 163841-172032
  Free inodes: 40801-42840
Group 21: (Blocks 172033-180224) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
  Checksum 0x262e, unused inodes 2040
  Block bitmap at 131078 (bg #16 + 5), Inode bitmap at 131094 (bg #16 + 21)
  Inode table at 132380-132634 (bg #16 + 1307)
  8192 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 172033-180224
  Free inodes: 42841-44880
Group 22: (Blocks 180225-188416) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
  Checksum 0x2bd2, unused inodes 2040
  Block bitmap at 131079 (bg #16 + 6), Inode bitmap at 131095 (bg #16 + 22)
  Inode table at 132635-132889 (bg #16 + 1562)
  8192 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 180225-188416
  Free inodes: 44881-46920
Group 23: (Blocks 188417-196608) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
  Checksum 0x2b3d, unused inodes 2040
  Block bitmap at 131080 (bg #16 + 7), Inode bitmap at 131096 (bg #16 + 23)
  Inode table at 132890-133144 (bg #16 + 1817)
  8192 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 188417-196608
  Free inodes: 46921-48960
Group 24: (Blocks 196609-204800) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
  Checksum 0x854b, unused inodes 2040
  Block bitmap at 131081 (bg #16 + 8), Inode bitmap at 131097 (bg #16 + 24)
  Inode table at 133145-133399 (bg #16 + 2072)
  8192 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 196609-204800
  Free inodes: 48961-51000
Group 25: (Blocks 204801-212992) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
  Checksum 0x3553, unused inodes 2040
  Backup superblock at 204801, Group descriptors at 204802-204803
  Reserved GDT blocks at 204804-205059
  Block bitmap at 131082 (bg #16 + 9), Inode bitmap at 131098 (bg #16 + 25)
  Inode table at 133400-133654 (bg #16 + 2327)
  7933 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 205060-212992
  Free inodes: 51001-53040
Group 26: (Blocks 212993-221184) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
  Checksum 0x6ef7, unused inodes 2040
  Block bitmap at 131083 (bg #16 + 10), Inode bitmap at 131099 (bg #16 + 26)
  Inode table at 133655-133909 (bg #16 + 2582)
  8192 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 212993-221184
  Free inodes: 53041-55080
Group 27: (Blocks 221185-229376) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
  Checksum 0xe10d, unused inodes 2040
  Backup superblock at 221185, Group descriptors at 221186-221187
  Reserved GDT blocks at 221188-221443
  Block bitmap at 131084 (bg #16 + 11), Inode bitmap at 131100 (bg #16 + 27)
  Inode table at 133910-134164 (bg #16 + 2837)
  7933 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 221444-229376
  Free inodes: 55081-57120
Group 28: (Blocks 229377-237568) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
  Checksum 0x1f21, unused inodes 2040
  Block bitmap at 131085 (bg #16 + 12), Inode bitmap at 131101 (bg #16 + 28)
  Inode table at 134165-134419 (bg #16 + 3092)
  8192 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 229377-237568
  Free inodes: 57121-59160
Group 29: (Blocks 237569-245760) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
  Checksum 0x5fe8, unused inodes 2040
  Block bitmap at 131086 (bg #16 + 13), Inode bitmap at 131102 (bg #16 + 29)
  Inode table at 134420-134674 (bg #16 + 3347)
  8192 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 237569-245760
  Free inodes: 59161-61200
Group 30: (Blocks 245761-253952) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
  Checksum 0x5214, unused inodes 2040
  Block bitmap at 131087 (bg #16 + 14), Inode bitmap at 131103 (bg #16 + 30)
  Inode table at 134675-134929 (bg #16 + 3602)
  8192 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 245761-253952
  Free inodes: 61201-63240
Group 31: (Blocks 253953-262144) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
  Checksum 0x1258, unused inodes 2040
  Block bitmap at 131088 (bg #16 + 15), Inode bitmap at 131104 (bg #16 + 31)
  Inode table at 134930-135184 (bg #16 + 3857)
  8192 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 253953-262144
  Free inodes: 63241-65280
Group 32: (Blocks 262145-270336) [INODE_UNINIT, ITABLE_ZEROED]
  Checksum 0x3696, unused inodes 2040
  Block bitmap at 262145 (+0), Inode bitmap at 262157 (+12)
  Inode table at 262169-262423 (+24)
  5108 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 265229-270336
  Free inodes: 65281-67320
Group 33: (Blocks 270337-278528) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
  Checksum 0x4c30, unused inodes 2040
  Block bitmap at 262146 (bg #32 + 1), Inode bitmap at 262158 (bg #32 + 13)
  Inode table at 262424-262678 (bg #32 + 279)
  8192 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 270337-278528
  Free inodes: 67321-69360
Group 34: (Blocks 278529-286720) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
  Checksum 0xe745, unused inodes 2040
  Block bitmap at 262147 (bg #32 + 2), Inode bitmap at 262159 (bg #32 + 14)
  Inode table at 262679-262933 (bg #32 + 534)
  8192 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 278529-286720
  Free inodes: 69361-71400
Group 35: (Blocks 286721-294912) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
  Checksum 0x1830, unused inodes 2040
  Block bitmap at 262148 (bg #32 + 3), Inode bitmap at 262160 (bg #32 + 15)
  Inode table at 262934-263188 (bg #32 + 789)
  8192 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 286721-294912
  Free inodes: 71401-73440
Group 36: (Blocks 294913-303104) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
  Checksum 0x16cd, unused inodes 2040
  Block bitmap at 262149 (bg #32 + 4), Inode bitmap at 262161 (bg #32 + 16)
  Inode table at 263189-263443 (bg #32 + 1044)
  8192 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 294913-303104
  Free inodes: 73441-75480
Group 37: (Blocks 303105-311296) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
  Checksum 0x5604, unused inodes 2040
  Block bitmap at 262150 (bg #32 + 5), Inode bitmap at 262162 (bg #32 + 17)
  Inode table at 263444-263698 (bg #32 + 1299)
  8192 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 303105-311296
  Free inodes: 75481-77520
Group 38: (Blocks 311297-319488) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
  Checksum 0x5bf8, unused inodes 2040
  Block bitmap at 262151 (bg #32 + 6), Inode bitmap at 262163 (bg #32 + 18)
  Inode table at 263699-263953 (bg #32 + 1554)
  8192 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 311297-319488
  Free inodes: 77521-79560
Group 39: (Blocks 319489-327680) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
  Checksum 0x24dd, unused inodes 2040
  Block bitmap at 262152 (bg #32 + 7), Inode bitmap at 262164 (bg #32 + 19)
  Inode table at 263954-264208 (bg #32 + 1809)
  8192 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 319489-327680
  Free inodes: 79561-81600
Group 40: (Blocks 327681-335872) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
  Checksum 0x8aab, unused inodes 2040
  Block bitmap at 262153 (bg #32 + 8), Inode bitmap at 262165 (bg #32 + 20)
  Inode table at 264209-264463 (bg #32 + 2064)
  8192 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 327681-335872
  Free inodes: 81601-83640
Group 41: (Blocks 335873-344064) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
  Checksum 0xca62, unused inodes 2040
  Block bitmap at 262154 (bg #32 + 9), Inode bitmap at 262166 (bg #32 + 21)
  Inode table at 264464-264718 (bg #32 + 2319)
  8192 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 335873-344064
  Free inodes: 83641-85680
Group 42: (Blocks 344065-352256) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
  Checksum 0x6c06, unused inodes 2040
  Block bitmap at 262155 (bg #32 + 10), Inode bitmap at 262167 (bg #32 + 22)
  Inode table at 264719-264973 (bg #32 + 2574)
  8192 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 344065-352256
  Free inodes: 85681-87720
Group 43: (Blocks 352257-358399) [INODE_UNINIT, ITABLE_ZEROED]
  Checksum 0xb1b8, unused inodes 2040
  Block bitmap at 262156 (bg #32 + 11), Inode bitmap at 262168 (bg #32 + 23)
  Inode table at 264974-265228 (bg #32 + 2829)
  6143 free blocks, 2040 free inodes, 0 directories, 2040 unused inodes
  Free blocks: 352257-358399
  Free inodes: 87721-89760