On Sat, 30 Aug 2025 16:45:15 -0700 "Mel P." <[email protected]> wrote:
> On 2025-08-30 16:34, Tomoaki AOKI wrote: > > On Fri, 29 Aug 2025 07:49:49 -0600 > > Warner Losh <[email protected]> wrote: > > > >> On Fri, Aug 29, 2025, 7:12 AM Tomoaki AOKI <[email protected]> > >> wrote: > >> > >> This is why I previously commented with git hash and/or n number. > >>> > >> > >> This is harder and introduces a git dependency to the loader process. The > >> kernel has this, true. And hg, svn, gitup and a few others. It's a mess > >> that I'd rather not have since the loader is built a dozen times, not once > >> like the kernel, and any slowdown when one of the above scms misbehaves is > >> greater. > >> > >> Warner > > > > Yeah, precisely determining what read-incompatible features is/are > > enabled (whitelisted) is the key point for the bootcodes / loaders. > > > > Using date/time, ancient method was (IIRC) the date/time the bootcodes > > / loaders are "built", NOT "committed to master repo". > > > > Obtaining the actually wanted date / time needs git functionality > > in current form, thus, heavy-weighted for bootcodes / loaders. > > Just have it store the whitelist in a retrievable format. Provide the > information directly. The whitelist would be this. https://cgit.freebsd.org/src/tree/stand/libsa/zfs/zfsimpl.c#n109 Note that it includes only read-incompatible features supported. So seeing this alone could confuse like "Isn't feature xxx supported? Should I re-create pool without the (read-compatible) feature xxx?!". The comment in the file is clear enough for me, but what about for someone just started learning about ZFS? To know features including read-compatible ones that are "enabled" by default ("active" is another thing), we need to understand in what state the whole ZFS codes are when the bootcode / loader is built. And this require to specify the commit the build is done at. Warner, please correct me if I'm mis-understanding. I believe you're the best person who knows correctly in loader area. -- Tomoaki AOKI <[email protected]>
