#define BBLOCK(b, sb) (b/BPB + sb.bmapstart)

トップページ
jupiteroak.hatenablog.com


fs.h
https://github.com/mit-pdos/xv6-public/blob/master/fs.h#L48

#define BBLOCK(b, sb) (b/BPB + sb.bmapstart)

BBLOCKマクロは、ビットマップ領域上においてセクタ番号bに対応しているbitが含まれるセクタのセクタ番号を算出するマクロです。
BPBはブロック1個当たりに含まれるデータをbit単位で算出するマクロで、その値(ブロック1個当たりに含まれるデータ)は512×8=4096bitになります。
0から4095までのセクタ番号に対応するbitはセクタ番号sb.bmapstartのセクタに所属するので、セクタ番号bをBPBの値(4096)で除算した値の分をセクタ番号に追加した値b/BPB + sb.bmapstartが、ビットマップ領域上においてセクタ番号bに対応しているbitが含まれるセクタのセクタ番号になります。