Linuxのファイルシステムを詳解します

XFS-Filesystem-Structure

Superblocks


各AGの先頭にはsuperblockで始まります。
1番目のsuperblockはAGの主要な情報が含まれています。
2番目のsuperblockは1番目のsuperblockが壊れた際にxfs_repairによって修復されるためだけに存在します。
superblockは以下の構造によって定義されます。
各々のフィールドの説明は、あとに続きます。
super block構造体 xfs_sb_t
typedef struct xfs_sb
{
__uint32_tsb_magicnum;
__uint32_tsb_blocksize;
xfs_drfsbno_tsb_dblocks;
xfs_drfsbno_tsb_rblocks;
xfs_drtbno_tsb_rextents;
uuid_tsb_uuid;
xfs_dfsbno_tsb_logstart;
xfs_ino_tsb_rootino;
xfs_ino_tsb_rbmino;
xfs_ino_tsb_rsumino;
xfs_agblock_tsb_rextsize?;
xfs_agblock_tsb_agblocks?;
xfs_agnumber_tsb_agcount?;
xfs_extlen_tsb_rbmblocks?;
xfs_extlen_tsb_logblocks?;
__uint16_tsb_versionnum?;
__uint16_tsb_sectsize?;
__uint16_tsb_inodesize?;
__uint16_tsb_inopblock?;
charsb_fname[12?];
__uint8_tsb_blocklog?;
__uint8_tsb_sectlog?;
__uint8_tsb_inodelog?;
__uint8_tsb_inopblog?;
__uint8_tsb_agblklog?;
__uint8_tsb_rextslog?;
__uint8_tsb_inprogress?;
__uint8_tsb_imax_pct?;
__uint64_tsb_icount?;
__uint64_tsb_ifree?;
__uint64_tsb_fdblocks?;
__uint64_tsb_frextents?;
xfs_ino_tsb_uquotino?;
xfs_ino_tsb_gquotino?;
__uint16_tsb_qflags?;
__uint8_tsb_flags?;
__uint8_tsb_shared_vn?;
xfs_extlen_tsb_inoalignmt?;
__uint32_tsb_unit?;
__uint32_tsb_width?;
__uint8_tsb_dirblklog?;
__uint8_tsb_logsectlog?;
__uint16_tsb_logsectsize?;
__uint32_tsb_logsunit?;
__uint32_tsb_features2?;
} xfs_sb_t;
xfs_db Example
ファイルシステムは、以下のコマンドで一つのSATAディスクの上で行われます。
# mkfs.xfs -i attr=2 -n size=16384 -f /dev/sda7
meta-data=/dev/sda7 isize=256 agcount=16, agsize=3923122 blks
     = sectsz=512 attr=2
data   = bsize=4096 blocks=62769952, imaxpct=25
     = sunit=0 swidth=0 blks, unwritten=1
naming  = version 2 bsize=16384
log   = internal log bsize=4096 blocks=30649, version=1
     = sectsz=512 sunit=0 blks
realtime = none extsz=65536 blocks=0, rtextents=0
xfs_dbでsuperblockを見た時
And in xfs_db, inspecting the superblock:

xfs_db> sb
xfs_db> p
magicnum = 0x58465342
blocksize = 4096
dblocks = 62769952
rblocks = 0
rextents = 0
uuid = 32b24036-6931-45b4-b68c-cd5e7d9a1ca5
logstart = 33554436
rootino = 128
rbmino = 129
rsumino = 130
rextsize = 16
agblocks = 3923122
agcount = 16
rbmblocks = 0
logblocks = 30649
versionnum = 0xb084
sectsize = 512
inodesize = 256
inopblock = 16
fname = "\000\000\000\000\000\000\000\000\000\000\000\000"
blocklog = 12
sectlog = 9
inodelog = 8
inopblog = 4
agblklog = 22
rextslog = 0
inprogress = 0
imax_pct = 25
icount = 64
ifree = 61
fdblocks = 62739235
frextents = 0
uquotino = 0
gquotino = 0
qflags = 0
flags = 0
shared_vn = 0
inoalignmt = 2
unit = 0
width = 0
dirblklog = 2
logsectlog = 0
logsectsize = 0
logsunit = 0
features2 = 8
タグ

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

関連ソフト/文書

Firefox3 Meter  Use OpenOffice.org

管理人/副管理人のみ編集できます