Thread (54 messages) 54 messages, 12 authors, 2022-05-23

Re: [PATCH v4 08/13] btrfs:zoned: make sb for npo2 zone devices align with sb log offsets

From: Pankaj Raghav <hidden>
Date: 2022-05-17 08:01:38
Also in: dm-devel, linux-btrfs, linux-fsdevel, linux-nvme, lkml

On 2022-05-17 08:50, Johannes Thumshirn wrote:
On 16/05/2022 18:55, Pankaj Raghav wrote:
quoted
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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help