xfs_info出力の「spinodes」とは何ですか?

xfs_info出力の「spinodes」とは何ですか?

出力はxfs_info次のとおりです。

meta-data=/dev/mapper/vg0-mirror.sjtug isize=512    agcount=13, agsize=268435455 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1 spinodes=0 rmapbt=0
         =                       reflink=0
data     =                       bsize=4096   blocks=3417184256, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=521728, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

spinodesこれが何を意味するのか知りたいです。これに関する情報はほとんどないようです。

ベストアンサー1

「Spinodes」は、深刻な断片化が発生した場合にシステムが新しいinodeを非順次に割り当てることを可能にするXFS機能「sparse inodes」の略です。マニュアルmkfs.xfsページを引用すると、次のようになります。

有効にすると、スパース inode 割り当てにより、使用可能なスペースが厳しく制限されると、ファイルシステムは標準の 64 inode ブロックよりも少ないスペースを割り当てることができます。これは非常に簡単で、通常は独自のプログラミング知識を必要としません。この機能は、時間が経つにつれて空き領域が断片化され、空き領域が64個のinodeブロックを収容するのに十分な大きさにならないファイルシステムに役立ちます。この機能を有効にしないと、重大な空き領域断片化の状況でスペース不足エラーが原因で inode 割り当てが失敗する可能性があります。

私の理解は、通常の状況では値がゼロに近いはずです。


これに関する情報はほとんどないようです。

疑わしい場合は、ソースコードをダウンロードしてgrep実行して、不慣れな用語を見つけることができます。たとえば、DebianやUbuntuを実行しているとします。

$ apt source xfsprogs # Download the source code

$ grep -ri spinode # Look for a comment in the code
...
xfsprogs-4.9.0+nmu1ubuntu2/libxfs/xfs_format.h:#define XFS_SB_FEAT_INCOMPAT_SPINODES    (1 << 1)        /* sparse inode chunks */
...

$ man -K 'sparse inode' # Show the relevant man pages

この場合、関連用語の意味を把握するのに30秒もかからなかったことがわかります。

おすすめ記事