当前位置:首页 >> 技术文章 >> 技术文章 >> 正文

xfs 超级块结构

typedef struct xfs_sb
{
 UINT32 sb_magicnum;        // magic number == XFS_SB_MAGIC = 0x58465342 "XFSB"
 UINT32 sb_blocksize;    // logical block size, bytes  //块大小
 UINT64 sb_dblocks;   // number of data blocks //总块数
 UINT64 sb_rblocks;   // number of realtime blocks 实时驱动器块数
 UINT64 sb_rextents;   //number of realtime extents 实时设备扩展数
 uuid_t sb_uuid;    // file system unique id   //16字节? 如UUID="c19b003b-d9c1-474a-a043-b1469df189e0"
 UINT64 sb_logstart;   // starting block of log if internal 日志开始块号
 UINT64 sb_rootino;   // root inode number //根目录节点号,节点号是根据节点大小及硬盘扇区数计算出来 ,比如节点大小是256字节,在400sec上的第一个节点的节点号就是400/2=200
 UINT64 sb_rbmino;   // bitmap inode for realtime extents 位图inode的实时扩展
 UINT64 sb_rsumino;   // summary inode for rt bitmap
 UINT32 sb_rextsize;   // realtime extent size, blocks 块中实时扩展的大小
 UINT32 sb_agblocks;   // size of an allocation group  //这是分配组占用块数,可计算一个分配组大小
 UINT32 sb_agcount;   // number of allocation groups  //可计算逻辑卷大小
 UINT32 sb_rbmblocks;  // number of rt bitmap blocks
 UINT32 sb_logblocks;  // number of log blocks 日志块数
 UINT16 sb_versionnum;  // header version == XFS_SB_VERSION 文件系统版本号
 UINT16 sb_sectsize;   // volume sector size, bytes 512
 UINT16 sb_inodesize;  // inode size, bytes 256
 UINT16 sb_inopblock;  // inodes per block  This is equivalent to sb_blocksize / sb_inodesize 每块的inode的数量
 char sb_fname[12];   // file system name
 UINT8 sb_blocklog;   // log2 of sb_blocksize
 UINT8 sb_sectlog;   // log2 of sb_sectsize
 UINT8 sb_inodelog;   // log2 of sb_inodesize
 UINT8 sb_inopblog;   // log2 of sb_inopblock   //inode在组内编号占用的位数,这个很重要,一般为4
 UINT8 sb_agblklog;   // log2 of sb_agblocks (rounded up向上取整) //Block在组内编号占用的位数
 UINT8 sb_rextslog;   // log2 of sb_rextents
 UINT8 sb_inprogress;  // mkfs is in progress, don't mount
 UINT8 sb_imax_pct;   // max % of fs for inode space  //The default value is 25%. 文件系统中inode最大的可用空间,默认为文件系统空间的25%
 UINT64 sb_icount;   // allocated inodes //分配的inode的总数量
 UINT64 sb_ifree;   // free inodes  //剩余的inode的数量
 UINT64 sb_fdblocks;   // free data blocks //空闲的数据块个数
 UINT64 sb_frextents;  // free realtime extents 空闲实时扩展
 UINT64 sb_uquotino;   //  user quota inode //用于管理用户配额的i节点
 UINT64 sb_gquotino;   // group quota inode //用于管理组配额的i节点
 UINT16 sb_qflags;   // quota flags
 UINT8 sb_flags;    // misc. flags
 UINT8 sb_shared_vn;   // shared version number 必须为0
 UINT32 sb_inoalignmt;  // inode chunk alignment, fsblocks 索引节点号对齐
 UINT32 sb_unit;    // stripe or raid unit 条带或raid单元
 UINT32 sb_width;   // stripe or raid width 条带或raid宽度
 UINT8 sb_dirblklog;   // log2 of dir block size (fsbs) log2目录块大小 =sb_blocksize * (2的sb_dirblklog次幂)sb_dirblklog不能大于4,因为目录块不能大于65536字节
        //这里的目录块不是文件系统的那个块,除非另有说明
 UINT8 sb_logsectlog;  // log2 of the log sector size log2扇区大小
 UINT16 sb_logsectsize;  // sector size for the log, bytes 日志扇区大小
 UINT32 sb_logsunit;   // stripe unit size for the log 日志条带单元大小
 UINT32 sb_features2;  // additional feature bits
} xfs_sb_t;

未经允许不得转载:浩高数据恢复 » xfs 超级块结构
分享到
1
0
上一篇如何恢复由重复数据删除技术删除的数据
下一篇NTFS的BPB参数

精彩推荐

联系我们

昆明鼓楼路184号(沃力空间) 四楼403室

13518761358

热门标签

高级工程师
13518761358
第一时间解决为您提供专业技术服务
电话
13518761358
工作时间:8:30-12:00;13:30-17:30
客服微信
13518761358
技术咨询联系微信
contact-img
客服QQ
357178028
工作较忙,尽可能电话或微信联系