RE: zfs properties across versions

From: Mark Millard <marklmi_at_yahoo.com>
Date: Sun, 20 Nov 2022 07:04:41 UTC
void <void_at_f-m.fm> wrote on
Date: Sat, 19 Nov 2022 19:56:45 UTC :

> I'm worried if I zfs snapshot a vdev running zfs v5 (on 12.3R) to a
> 13.1-p3 receiving system (so OpenZFS) that I'll not be able to restore 
> subsequently.
> 
> Will restoring from 13.1-p3 to 12.3R be expected to work?

If you list the pool features for the relevant pools,
does the pool on 13.1-p3 have anything active that
the 12.3R pool does not? How about at the time of the
transfer back to 12.3R? Still true? Such are some of
the more detailed questions involved.

(The following is from main [so: 14] but is just to
give an idea.)

# zpool get all | grep feature@ | sort -k4
zoptb  feature@embedded_data          active                         local
zoptb  feature@empty_bpobj            active                         local
zoptb  feature@enabled_txg            active                         local
zoptb  feature@extensible_dataset     active                         local
zoptb  feature@hole_birth             active                         local
zoptb  feature@log_spacemap           active                         local
zoptb  feature@lz4_compress           active                         local
zoptb  feature@project_quota          active                         local
zoptb  feature@spacemap_histogram     active                         local
zoptb  feature@spacemap_v2            active                         local
zoptb  feature@userobj_accounting     active                         local
zoptb  feature@allocation_classes     enabled                        local
zoptb  feature@async_destroy          enabled                        local
zoptb  feature@bookmark_v2            enabled                        local
zoptb  feature@bookmark_written       enabled                        local
zoptb  feature@bookmarks              enabled                        local
zoptb  feature@device_rebuild         enabled                        local
zoptb  feature@device_removal         enabled                        local
zoptb  feature@draid                  enabled                        local
zoptb  feature@encryption             enabled                        local
zoptb  feature@filesystem_limits      enabled                        local
zoptb  feature@large_blocks           enabled                        local
zoptb  feature@large_dnode            enabled                        local
zoptb  feature@livelist               enabled                        local
zoptb  feature@multi_vdev_crash_dump  enabled                        local
zoptb  feature@obsolete_counts        enabled                        local
zoptb  feature@redacted_datasets      enabled                        local
zoptb  feature@redaction_bookmarks    enabled                        local
zoptb  feature@resilver_defer         enabled                        local
zoptb  feature@sha512                 enabled                        local
zoptb  feature@skein                  enabled                        local
zoptb  feature@zpool_checkpoint       enabled                        local
zoptb  feature@zstd_compress          enabled                        local
zoptb  feature@blake3                 disabled                       local
zoptb  feature@edonr                  disabled                       local
zoptb  feature@head_errlog            disabled                       local
zoptb  feature@zilsaxattr             disabled                       local

"man zpool-features" has notes about the status
of individual features. Some features are bigger
issues than others.

Just upgrading FreeBSD does not change the
status of zpool features. zpool (feature)
upgrades are a separate activity. (But that
status of FreeBSD upgrades may not last
forever?)

I do not upgrade pool features past the likes of,
say, what are indicated in:

/usr/share/zfs/compatibility.d/openzfs-2.1-freebsd

until there is a, say:

/usr/share/zfs/compatibility.d/openzfs-2.2-freebsd

also usable on the range of systems that I care
about for compatibility. But I've no competing
criteria to worry about that would lead me to do
otherwise.

Some of the disabled features in my list above are
not listed in openzfs-2.1-freebsd .

I've no clue what features are possible to enable
for 12.3R are --or what the default features are
for 12.3R .

===
Mark Millard
marklmi at yahoo.com