On Thu, Sep 21, 2023 at 11:22 AM Stan Liao <StanL@xxxxxxxxxxxxxx> wrote: > > Hi, > A md-raid (level 1) is created with 5 nvme drives and the metadata version is specified as 1.2. The following command is used. > sudo mdadm --create /dev/md0 --level=1 --raid-devices=5 /dev/nvme{1,2,3,4}n1 /dev/nvme4n2 --metadata=1.2 > The capacities of nvme{1,2,3,4}n1 and nvme4n2 are 3.2TB, 1.92TB, 3.2TB, 512GB, and 512GB. > OS: 20.04.1-Ubuntu > mdadm version: v4.1 - 2018-10-01 > After creation, we found that the size of the bitmap_super_t and internal bitmap is 16KB (this is concluded by observing FF value is filled from around byte offset 0x100 of LBA 0x10 to byte offset 0x1FF of LBA 0x1F), but the mdp_superblock_1.bblog_offset value is 0x10. As a result, the mdp_superblock_1 occupies LBA 0x08 ~ 0x0F; bitmap_super_t and internal bitmap occupy LBA 0x10 ~ 0x20; bblog occupies LBA 0x18 ~ 0x20. > If bblog and bitmap do overlap, I would like to know the size value used to calculate bitmap size and bblog_offset. The size value used to calculate bitmap size and bblog_offset is mdp_superblock_1.size or mdp_superblock_1.data_size? Thanks a lot. > Hi For super1.2 the layout should be: | 4KB | 4KB | bitmap space | head room | data | The first 4KB is empty from the beginning of the disk. The second 4KB is for md superblock. Then is bitmap suerblock. So if you want to see the content of bitmap_super_t, the offset should be 0x2000? Regards Xiao