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>