Re: XFS AG disk layout described on official doc is wrong

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Nov 09, 2012 at 02:47:41PM +0800, Jeff Liu wrote:
> Hello,
> 
> I observed that there is an issue on our official DOC for AG disk
> layout, which can be found at:
> http://xfs.org/docs/xfsdocs-xml-dev/XFS_Filesystem_Structure//tmp/en-US/html/Allocation_Groups.html
> 
> It shows that the IBT block is followed by the block where AGFL sector
> resides.  However, it should be followed by the
> CNT block according to my debug, like below:
> 
> -------------------------------
> superblock
> AG free block info
> AG inode B+tree info
> AG internal free list
> -------------------------------
> Root of free space B+tree
>   B+tree key is block number
> -------------------------------
> Root of free space B+tree
>   B+tree key is block count
> --------------------------------
> Root of inodes B+tree
> --------------------------------
> 
> Maybe the DOC is old, or am I missing anything?  If not, can we correct it?

The btree root blocks are dynamic. mkfs.xfs puts them in a fixed
place, just like growfs does, but the moment you split a root block,
it moves from that location. Hence the only way to reliably find the
root btree block is to look up the point in the AGF/AGI, and that's
what the document shows. IOWs, the ordering in the document is not
important - the linkage is - as the root blocks can end up
*anywhere* in the AG.

e.g:

$ sudo xfs_db -r -c "agf 0" -c p /dev/vda
magicnum = 0x58414746
versionnum = 1
seqno = 0
length = 262144
bnoroot = 596
cntroot = 1003
bnolevel = 2
cntlevel = 2
....

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs


[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux