diff options
| author | voidanix <voidanix@freebsd.org> | 2026-06-13 15:57:21 +0000 |
|---|---|---|
| committer | Alan Somers <asomers@FreeBSD.org> | 2026-09-03 18:27:00 +0000 |
| commit | 48efb6c4eb9febc1c8c50d13a794e9165af71930 (patch) | |
| tree | 83d95ceaf4dcb9f535247553bc057b91cc87113e /source/Symbol/ObjectFile.cpp | |
| parent | 22e27e307f8d16d9bdf3dc6f618ecf896994a082 (diff) | |
gzoned(8) is a new GEOM class that exposes a host-managed zoned device
(similar to ZAC/ZBC drives) on top of regular, non-zoned providers.
The created medium is sliced into equally sized zones, by default
sequential-write-required. Such zones can be turned into conventional
zones if desired. The zoned drive's state and configuration is
persistent through metadata at the tail of the backing provider, meaning
the zoned device gets recreated at the provider retaste. Zone state
changes only mark the table dirty with BIO_FLUSH committing it,
mirroring drives whose zone state is volatile until a cache flush.
The new class tries to emulate real zoned drives by incorporating
per-zone write pointers and support for BIO_ZONE management commands.
Fault emulation through zone conditions (RWP recommended, offline, R/O),
URSWRZ bit toggling and concurrent open zone limits are additional
features useful for testing.
While at it, fix zonectl's report of write pointer LBAs for zones that
should have none, remove its forced debug flags and allow the geom(8)
shared subroutines to detect host-managed drives.
ATF-sh tests for gzoned(8) and zonectl(8) (dogfooded by gzoned(8)) are
included, featuring helpers (see zoned_subr.sh) for testing zoned
storage support in other components or GEOM classes.
Reviewed by: asomers, fuz, ken
Sponsored by: Google Summer of Code 2026
Pull Request: https://github.com/freebsd/freebsd-src/pull/2326
Diffstat (limited to 'source/Symbol/ObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions
