Skip site navigation (1)Skip section navigation (2)
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>