zpool upgrade "don't forget to update boot code"

From: David Christensen <dpchrist_at_holgerdanske.com>
Date: Sun, 31 Jul 2022 09:23:33 UTC
freebsd-questions:

I previously installed FreeBSD onto an x86_64 computer:

FreeBSD-12.1-RELEASE-amd64-memstick.img


The computer has a single SSD for the OS disk.  I used the FreeBSD 
installer to partition the OS disk as follows:

Partitioning            Auto (ZFS)
Pool Type/Disks         stripe: 1 disk
                         ada0 <redacted>
Pool Name               soho2_zroot
Force 4K Sectors        YES
Encrypt Disks           YES
Partition Scheme        MBR (BIOS)
Swap Size               2g
Mirror Swap             YES
Encrypt Swap            YES
 >>> Install             Proceed with installation
Encryption passphrase   *******


The disk was partitioned as follows:

# gpart show -p ada0
=>       63  117231345    ada0  MBR  (56G)
          63       1985          - free -  (993K)
        2048   29360128  ada0s1  freebsd  [active]  (14G)

# gpart show -p ada0s1
=>       0  29360128   ada0s1  BSD  (14G)
          0   4194304  ada0s1a  freebsd-zfs  (2.0G)
    4194304   4194304  ada0s1b  freebsd-swap  (2.0G)
    8388608  20971520  ada0s1d  freebsd-zfs  (10G)


I have upgraded several times since installation:

# freebsd-version ; uname -a
12.3-RELEASE-p5
FreeBSD f3.tracy.holgerdanske.com 12.3-RELEASE-p5 FreeBSD 
12.3-RELEASE-p5 GENERIC  amd64


At some point, 'zpool status' started providing "status" and "action" 
notices for the boot and root pools:

# zpool status bootpool
   pool: bootpool
  state: ONLINE
status: Some supported features are not enabled on the pool. The pool can
	still be used, but some features are unavailable.
action: Enable all features using 'zpool upgrade'. Once this is done,
	the pool may no longer be accessible by software that does not support
	the features. See zpool-features(7) for details.
   scan: scrub repaired 0 in 0 days 00:00:02 with 0 errors on Sun Jul 31 
00:57:17 2022
config:

	NAME        STATE     READ WRITE CKSUM
	bootpool    ONLINE       0     0     0
	  ada0s1a   ONLINE       0     0     0

# zpool status soho2_zroot
   pool: soho2_zroot
  state: ONLINE
status: Some supported features are not enabled on the pool. The pool can
	still be used, but some features are unavailable.
action: Enable all features using 'zpool upgrade'. Once this is done,
	the pool may no longer be accessible by software that does not support
	the features. See zpool-features(7) for details.
   scan: scrub repaired 0 in 0 days 00:00:42 with 0 errors on Sun Jul 31 
00:58:09 2022
config:

	NAME           STATE     READ WRITE CKSUM
	soho2_zroot    ONLINE       0     0     0
	  ada0s1d.eli  ONLINE       0     0     0


Tonight, I did the upgrades:

# zpool upgrade bootpool
This system supports ZFS pool feature flags.

Enabled the following features on 'bootpool':
   allocation_classes

# zpool status bootpool
   pool: bootpool
  state: ONLINE
   scan: scrub repaired 0 in 0 days 00:00:02 with 0 errors on Sun Jul 31 
00:57:17 2022
config:

	NAME        STATE     READ WRITE CKSUM
	bootpool    ONLINE       0     0     0
	  ada0s1a   ONLINE       0     0     0

errors: No known data errors

# zpool upgrade soho2_zroot
This system supports ZFS pool feature flags.

Enabled the following features on 'soho2_zroot':
   allocation_classes

If you boot from pool 'soho2_zroot', don't forget to update boot code.
Assuming you use GPT partitioning and da0 is your boot disk
the following command will do it:

	gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da0

# zpool status soho2_zroot
   pool: soho2_zroot
  state: ONLINE
   scan: scrub repaired 0 in 0 days 00:00:42 with 0 errors on Sun Jul 31 
00:58:09 2022
config:

	NAME           STATE     READ WRITE CKSUM
	soho2_zroot    ONLINE       0     0     0
	  ada0s1d.eli  ONLINE       0     0     0

errors: No known data errors


The above message "Assuming you use GPT partitioning and da0 is your 
boot disk ..." does not seem to apply to my case.  Nor do the FreeBSD 
Manual or Wiki:

https://docs.freebsd.org/en/books/handbook/boot/

http://freebsdwiki.net/index.php/ZFS,_booting_from


Do I need to update boot code?  Which stage(s)?  Which file(s)?  Which 
destinations?  What commands?


David