ext2ファイルシステムを作成したいと思います。 「を設定したいです。インデックスノード数「特定の番号のオプションです。複数の値を試しました。
- もし-N 99000その後、インデックスノード数:99552
- もし-N 3500その後、インデックスノード数:3904
- もし-N500その後、インデックスノード数:976
しかし、私の価値はいつもいいえ、同じです。。なぜ?
私はmkfsをこのように呼び出す
sudo mkfs -q -t ext2 -F /dev/sda2 -b 4096 -N 99000 -O none,sparse_super,large_file,filetype
このように結果を確認してみると
$ sudo tune2fs -l /dev/sda2
tune2fs 1.46.5 (30-Dec-2021)
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem UUID: 11111111-2222-3333-4444-555555555555
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: filetype sparse_super large_file
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 99552
Block count: 1973720
Reserved block count: 98686
Overhead clusters: 6362
Free blocks: 1967353
Free inodes: 99541
First block: 0
Block size: 4096
Fragment size: 4096
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 1632
Inode blocks per group: 102
Filesystem created: Thu Apr 6 20:00:45 2023
Last mount time: n/a
Last write time: Thu Apr 6 20:01:49 2023
Mount count: 0
Maximum mount count: -1
Last checked: Thu Apr 6 20:00:45 2023
Check interval: 0 (<none>)
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 32
Desired extra isize: 32
Default directory hash: half_md4
Directory Hash Seed: 61ff1bad-c6c8-409f-b334-f277fb29df54
答え1
この数字は無視されずに丸められます。 inodeのためのスペースがグループごとに割り当てられているようです。出力で以下を確認してください。
Inodes per group: 1632
99,000個のinodeをリクエストすると、1,632に分割できません。したがって、必要なinodeの数を確保するために、この数は1,632で割ることができる99,552に丸められています。
この制限は数量から何とか派生したようです。ブロックグループここで、各グループの inode 数は、すべてのブロックグループで同じです。私の考えでは、ブロックグループあたりのinodeの数は、要求されたinodeの数をブロックグループの数で割って整数に丸めることによって計算されます。バラよりOSDev WikiのExt2
ブロックグループとは何ですか?ブロックは inode とともに「ブロックグループ」にグループ化されます。これらは連続したグループに過ぎません。
彫刻。
各ブロックグループは、次の特別な目的のためにいくつかのブロックを予約します。
- ...
- このグループに属する索引ノード構造表
- ..