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 할당이 실패할 수 있습니다.

내 이해는 정상적인 상황에서 값이 0에 가까워야 한다는 것입니다.


이에 대한 정보는 거의 없는 것 같습니다.

의심스러운 경우 소스 코드를 다운로드하고 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초도 채 걸리지 않았다는 것을 알 수 있습니다.

관련 정보