Date: Mon, 7 Nov 2022 16:34:14 -0800 From: Mark Millard <marklmi@yahoo.com> To: Warner Losh <imp@bsdimp.com>, dev-commits-src-main@freebsd.org Cc: Alexander@leidinger.net, Li-Wen Hsu <lwhsu@freebsd.org> Subject: Re: git: 72a1cb05cd23 - main - rc(8): Add a zpoolupgrade rc.d script Message-ID: <D1769C20-614F-444B-B75A-ED8D563681DA@yahoo.com> References: <D1769C20-614F-444B-B75A-ED8D563681DA.ref@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Warner Losh <imp_at_bsdimp.com> wrote on
Date: Mon, 07 Nov 2022 21:23:11 UTC :
> On Mon, Nov 7, 2022 at 4:15 AM Alexander Leidinger =
<Alexander@leidinger.net>
> wrote:
>=20
> >
> . . .
> >
> > And this brings me to a second topic, we don't have an explicit list
> > of features which are supported by the bootloader (I had a look at =
the
> > zfs and the boot related man pages, if I overlooked a place, then =
the
> > other places should reference this important part with some text).
> >
>=20
> There is a fixed list of features we support in the boot loader:
>=20
> /*
> * List of ZFS features supported for read
> */
> static const char *features_for_read[] =3D {
> "org.illumos:lz4_compress",
> "com.delphix:hole_birth",
> "com.delphix:extensible_dataset",
> "com.delphix:embedded_data",
> "org.open-zfs:large_blocks",
> "org.illumos:sha512",
> "org.illumos:skein",
> "org.zfsonlinux:large_dnode",
> "com.joyent:multi_vdev_crash_dump",
> "com.delphix:spacemap_histogram",
> "com.delphix:zpool_checkpoint",
> "com.delphix:spacemap_v2",
> "com.datto:encryption",
> "com.datto:bookmark_v2",
> "org.zfsonlinux:allocation_classes",
> "com.datto:resilver_defer",
> "com.delphix:device_removal",
> "com.delphix:obsolete_counts",
> "com.intel:allocation_classes",
> "org.freebsd:zstd_compress",
> "com.delphix:bookmark_written",
> "com.delphix:head_errlog",
As an example of a more general question
(referencing a zpool feature, if I understand
right):
com.delphix:head_errlog in the loaders from
13.1-RELEASE? 13.1-RELEASE-p3? 12.3-RELEASE*?
(The future 12.4-RELEASE?)
head_errlog is an interesting example because of
"man zpool-features" reporting the below --and it
being fairly new:
"READ-ONLY COMPATIBLE no"
and:
"This feature becomes active as soon as it is enabled and will
never return to being enabled."
I guess the loader avoids types of read activity that cause the
more general "READ-ONLY COMPATIBLE no" status.
(I use the example just because I've indirectly
run into it before, but in a more limited context.
It may not be the best of examples for the general
question.)
Does each RELEASE and release-update get its own,
documented zpool feature list for its loaders?
(There might be a question for a zfs vs. zpool
feature distinction as well?)
> "org.openzfs:blake3",
> NULL
> };
The overall list definitely goes beyond what is
listed in:
/usr/share/zfs/compatibility.d/openzfs-2.1-freebsd
> Any feature not on this list will cause the boot loader to reject the =
pool.
>=20
> Whether or not it should do that by default, always, or never is an =
open
> question. I've thought there should be a 'shoot footing' override that =
isn't
> there today.
=3D=3D=3D
Mark Millard
marklmi at yahoo.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?D1769C20-614F-444B-B75A-ED8D563681DA>
