EFI disk labeling / understand the parition table / sectors not continue

Hi all,

I have a EFI disk and it is use in zfs pool.

partition> p
Volume:  rpool
Current partition table (original):
Total disk sectors available: 1172107117 + 16384 (reserved sectors)

Part      Tag    Flag     First Sector          Size          Last Sector
  0        usr    wm               256       558.90GB           1172107150
  1 unassigned    wm                 0            0                0
  2 unassigned    wm                 0            0                0
  3 unassigned    wm                 0            0                0
  4 unassigned    wm                 0            0                0
  5 unassigned    wm                 0            0                0
  6 unassigned    wm                 0            0                0
   8   reserved    wm        1172107151         8.00MB           1172123534

It mentioned that there are total of (a)1172107117 + (b)16384 = 1172123501 sectors (c)

Partition 8 = 1172107151 to 1172123534 = 16384 sectors which match (b)
Partition 0 = 256 to 1172107150 = 1172106895 sectors which dont match (a)

===========================

Addup the sectors in the 2 partitions

(1172106895+16384=1172123279) 

which is <= to the total sectors (1172123501) (c)

If i say partition 0 = first sector 0 to 1172107150 which addup to 1172107151 sectors which is then even more then 1172107117 (a)

How it all adds-up ?
Where are all the missing or extra sectors ?

Regards,
Noob

fdisk is reporting 512 bytes sectors but nowadays, disks have 4096 bytes sectors.

The discrepancy between the available size (1172107117 x 512 bytes sectors) and the amount actually used (1172107151 x 512 bytes sectors) is 34 sectors, i.e. 4.25 (sic) actual sectors.

So you have 0.0000029 % of the disk unusable due to rounding errors. No big deal.

2 Likes

Hi jlliagre,

Thanks for taking this up.

q1) what do you mean by "4.25 (sic) actual sectors." ? Where the 4.25 ?
q2) 1172107151 > did you count from 0 to 1172107150 ? (as the partition starts from 256 -> probably due to alignment set by Oracle)

Regards,
Noob

q1: There are 34 sectors of 512 bytes, but, assuming 4096 bytes actual sectors, that makes 34 * 512 / 4096 = 4.25 sectors (of 4096 bytes each).

q2: Yes I did.

2 Likes

Hi jlliagre,
Thanks for the confirmation. I am sorry to ask, i got a 6.4 SSD but just appear to be 5.82TB usable.

Using auto-configure, the partition table look as below.
From 0 to 12502430343 in partition 0, the amount of sectors 12502430344 seems to be more then the total available sectors 12502430317

Still got no idea where did i lost my 800GB of space...

partition> p
Current partition table (original):
Total disk sectors available: 12502430317 + 16384 (reserved sectors)

Part      Tag    Flag     First Sector           Size           Last Sector
  0        usr    wm                40          5.82TB            12502430343
  1 unassigned    wm                 0             0                 0
  2 unassigned    wm                 0             0                 0
  3 unassigned    wm                 0             0                 0
  4 unassigned    wm                 0             0                 0
  5 unassigned    wm                 0             0                 0
  6 unassigned    wm                 0             0                 0
  8   reserved    wm       12502430351          8.00MB            12502446734

Regards,
Noob

You didn't lose anything.

Disk vendors report capacities in decimal units while format/fdisk still use binary units.

(12502430343-40)*512 = 6401244315136 bytes = 6.4 TB = 6401244315136/(1024*1024*1024*1024) = 5.821 TiB�
3 Likes

Thanks jlliagre.

And i shouldn't be overly concern about how the sectors add up ?

e.g. part0 last sector and part8 first sector has a gap of 8 sectors ...
part0 1st sector 0 to last sector 12502430343 > total disk sectors available

   part0 sector40 to last sector 12502430343   &lt; total disk sectors available  \(missing 14 sectors\) etc..

Regards,
Noob

As long as there are no overlapping areas, that doesn't matter.

If your SSD is a $500k house, these gaps sum up to less than two tenth of a cent...

2 Likes

Hahaha jlliagre, nice analogy..
Thank for your reply. I am just wondering why are these sectors distributed in such way and how they sums up.

Last question i hope you don't mind, since these are 4k disks, is there any reason why ZFS are aligning them with start sector 256 ? instead of the default 40 ?

40 = 40 * 512 = 20480bytes 
20480bytes/4096=5 x 4k sector  - which is in multiples of 4k and should be fine.

Regards,
Noob