On 2022-05-17 08:50, Johannes Thumshirn wrote: > On 16/05/2022 18:55, Pankaj Raghav wrote: >> Superblocks for zoned devices are fixed as 2 zones at 0, 512GB and 4TB. >> These are fixed at these locations so that recovery tools can reliably >> retrieve the superblocks even if one of the mirror gets corrupted. >> >> power of 2 zone sizes align at these offsets irrespective of their >> value but non power of 2 zone sizes will not align. >> >> To make sure the first zone at mirror 1 and mirror 2 align, write zero >> operation is performed to move the write pointer of the first zone to >> the expected offset. This operation is performed only after a zone reset >> of the first zone, i.e., when the second zone that contains the sb is FULL. > > Hi Pankaj, stupid question. Npo2 devices still have a zone size being a > multiple of 4k don't they? > > If not, we'd need to also have a tail padding of the superblock zones, in order > to move the WP of these zones to the end, so the sb-log states match up. Hi Johannes, NPO2 zoned devices has a minimum alignment requirement of 1MB. See commit: `btrfs: zoned: relax the alignment constraint for zoned devices` It will naturally align to 4k. So I don't think we need special handling there with tail padding.