Re: git: 72a1cb05cd23 - main - rc(8): Add a zpoolupgrade rc.d script
Date: Tue, 08 Nov 2022 00:34:14 UTC
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: > > > > . . . > > > > 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). > > > > There is a fixed list of features we support in the boot loader: > > /* > * List of ZFS features supported for read > */ > static const char *features_for_read[] = { > "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. > > 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. === Mark Millard marklmi at yahoo.com