On 10/04/2021 12:15, David Sterba wrote:
> From: Naohiro Aota <naohiro.a...@wdc.com>
> Moves the location of the superblock logging zones. The new locations of
> the logging zones are now determined based on fixed block addresses
> instead of on fixed zone numbers.
> The old placement method based on fixed zone numbers causes problems when
> one needs to inspect a file system image without access to the drive zone
> information. In such case, the super block locations cannot be reliably
> determined as the zone size is unknown. By locating the superblock logging
> zones using fixed addresses, we can scan a dumped file system image without
> the zone information since a super block copy will always be present at or
> after the fixed known locations.
> Introduce the following three pairs of zones containing fixed offset
> locations, regardless of the device zone size.
>   - primary superblock: offset   0B (and the following zone)
>   - first copy:         offset 512G (and the following zone)
>   - Second copy:        offset   4T (4096G, and the following zone)
> If a logging zone is outside of the disk capacity, we do not record the
> superblock copy.
> The first copy position is much larger than for a non-zoned filesystem,
> which is at 64M.  This is to avoid overlapping with the log zones for
> the primary superblock. This higher location is arbitrary but allows
> supporting devices with very large zone sizes, plus some space around in
> between.
> Such large zone size is unrealistic and very unlikely to ever be seen in
> real devices. Currently, SMR disks have a zone size of 256MB, and we are
> expecting ZNS drives to be in the 1-4GB range, so this limit gives us
> room to breathe. For now, we only allow zone sizes up to 8GB. The
> maximum zone size that would still fit in the space is 256G.
> The fixed location addresses are somewhat arbitrary, with the intent of
> maintaining superblock reliability for smaller and larger devices, with
> the preference for the latter. For this reason, there are two superblocks
> under the first 1T. This should cover use cases for physical devices and
> for emulated/device-mapper devices.
> The superblock logging zones are reserved for superblock logging and
> never used for data or metadata blocks. Note that we only reserve the
> two zones per primary/copy actually used for superblock logging. We do
> not reserve the ranges of zones possibly containing superblocks with the
> largest supported zone size (0-16GB, 512G-528GB, 4096G-4112G).
> The zones containing the fixed location offsets used to store
> superblocks on a non-zoned volume are also reserved to avoid confusion.
> Signed-off-by: Naohiro Aota <naohiro.a...@wdc.com>
> Signed-off-by: David Sterba <dste...@suse.com>

Looks good to me, Thanks
Reviewed-by: Johannes Thumshirn <johannes.thumsh...@wdc.com>

Reply via email to