# newer logical MBR partition names (adaXsY+nnnnnnnn): what are they about ?



## lbc (Oct 6, 2012)

Here is some sample gpart(8) output when run against an a full MBR-sliced disk :

```
[B][color="green"]freebsd# gpart show ada1[/color][/B]
=>       63  125829057  ada1  MBR  (60G)
         63       4031        - free -  (2M)
       4094  117182466     [B]1[/B]  !15  (55G)
  117186560    1953792     [B]2[/B]  ntfs  (954M)
  119140352    1953792     [B]3[/B]  linux-data  (954M)
  121094144    1951744     [B]4[/B]  linux-data  (953M)
  123045888    2783232        - free -  (1.3G)
```
The first column is the partition begining, in 512K blocks/sectors.
The second column is the allocated size of the partition, in the same unit.
The third column (in bold) is simple to interpret: it's the index of the slices.

Now, when I feed gpart(8) the extended MBR slice of that same disk :

```
[B][color="green"]freebsd# gpart show ada1s1[/color][/B]
=>        0  117182466  ada1s1  EBR  (55G)
          0   39057410       [B]1[/B]  ntfs  (18G)
   39057410   39063552  [B]619959[/B]  linux-data  (18G)
   78120962   39061504  [B]1240016[/B]  linux-data  (18G)
```

What does the third column now hold? It looks like some kind of offset for the beginning of the logical partitions relative to the extended one, but what unit is it using?

I'm curious about this because this value is what replaces the "backward compatibility for partition names in the EBR scheme" mentioned in gpart(8): when using a kernel built without the GEOM_PART_EBR_COMPAT option, device nodes for the logical MBR partitions are named dev/ada1s1+00000001, /dev/ada1s1+00619959, and/dev/ada1s1+01240016 (instead of /dev/ada1s5, /dev/ada1s6,  and /dev/ada1s7, which would be their backward compatible names).


----------



## lbc (Oct 9, 2012)

They're in hard drive tracks (after geometry translation), with a sectors per track value of 63.


----------

