ext4 inline_dataを使用して空のディレクトリを保存する方法は?

ext4 inline_dataを使用して空のディレクトリを保存する方法は?

どうやって使うの?ext4のinline_data関数空のディレクトリを保存しますか? inline_dataは、小さなファイルや大量のデータを格納するディレクトリでのみ機能するようです。

答え1

e2fsprogsバージョン1.43以降が必要で、inline_dataこの機能が有効になっているファイルシステムと少なくとも256バイトのinodeを生成する必要があります。

mke2fs -t ext4 -O inline_data ...

mke2fsinodeが小さすぎると文句を言う場合は追加してください-I 256)。

その後、ディレクトリは、保存する必要があるデータがそのinodeに収まる限り、インラインデータを透過的に使用します。debugfsこのstatコマンドは、以下のように inode データを表示します。

Inode: 12   Type: directory    Mode:  0755   Flags: 0x10000000
Generation: 3089239889    Version: 0x00000000:00000002
User:     0   Group:     0   Size: 60
File ACL: 0    Directory ACL: 0
Links: 3   Blockcount: 0
Fragment:  Address: 0    Number: 0    Size: 0
 ctime: 0x5bcb759e:a9872534 -- Sat Oct 20 20:36:14 2018
 atime: 0x5bcb759e:a9872534 -- Sat Oct 20 20:36:14 2018
 mtime: 0x5bcb759e:a9872534 -- Sat Oct 20 20:36:14 2018
crtime: 0x5bcb759e:a9872534 -- Sat Oct 20 20:36:14 2018
Size of extra inode fields: 32
Extended attributes:
  system.data (0)
Inode checksum: 0x68fa51fe
Size of inline data: 60

これは、他のディレクトリを含むディレクトリ用です。ご覧のとおり、60バイトのインラインデータを保存し、範囲がありません。

関連情報