Product SiteDocumentation Site

If the length of the symbolic link exceeds the space available in the inode's data fork, the link is moved to a new filesystem block and the inode's di_format is changed to "extents". The location of the block(s) is specified by the data fork's di_bmx[] array. In the significant majority of cases, this will be in one filesystem block as a symlink cannot be longer than 1024 characters.
62

xfs_db Example:

A longer link is created (greater than 156 bytes):
xfs_db> inode <inode#>
xfs_db> p
core.magic = 0x494e
core.mode = 0120777
core.version = 1
core.format = 2 (extents)
...
core.size = 182
core.nblocks = 1
core.extsize = 0
core.nextents = 1
...
u.bmx[0] = [startoff,startblock,blockcount,extentflag] 0:[0,37530,1,0]
xfs_db> dblock 0
xfs_db> type symlink
xfs_db> p
"symlink contents..."
MediaWiki Appliance - Powered by TurnKey Linux