ZFS version compatible between 24.10 EE and 25.04 FT?

Of course, the command to upgrade a ZFS pool warns:

# Upgrade Pool
Proceed with upgrading the pool? 
WARNING: Upgrading a pool is a one-way operation that might make some features of the pool incompatible with older versions of TrueNAS

But, that’s pretty unspecific. I’m wondering if there are actually pool incompatibility between 24.10 Electric Eel and 25.04 Fangtooth.

The release announcements said:
Electric Eel has a pre-release version of OpenZFS 2.3.0.
whereas
Fangtooth had the release version of OpenZFS 2.3.0.

Did these end up being different?

I see also, in terms of fast dedup, the the Electric Eel release cautioned:

Please note that Fast Dedup is not fully complete or tested and is still considered “experimental” at this time, and should not be used on production systems.

But, the Fangtooth release later noted:

[The Electric Eel pre-release OpenZFS] version has performed well and stood up to the standard of reliability set by OpenZFS. Customers can use Electric Eel today if they want several of these OpenZFS 2.3 features and the stability it offers.

Does that mean that, say, the OpenZFS fast_dedup feature between EE and FT is compatible? Likewise, I’ve seen some discussion that fast_dedup needs to be enabled (not enabled by default) on EE, but I don’t see any documentation actually explaining how to do that (or if, once done, it would work on a pool interchangeably between EE and FT.)

Likewise, I’m not sure if I see conclusive evidence of pool capabilities looking at zfs upgrade.

On the the same system, under TrueNAS-24.10.2.2 , I get:

root@TrueNAS01[~]# zfs upgrade           
This system is currently running ZFS filesystem version 5.

All filesystems are formatted with the current version.

… which I don’t think is accurate. I actually have one pool created under EE, and two others created, and not updated, before EE. Indeed, the “Storage” menu on the system shows the “Upgrade” button for 2 of 3 of the pools.

Meanwhile, on the same system under Fangtooth 25.04.01, I get the below – showing pool NONCONF (created under EE) as missing longname and large_microzap features, and the older pool (created prior to EE and not yet updated) as missing more features, including fast_dedup:

root@TrueNAS01[~]# zpool upgrade
This system supports ZFS pool feature flags.

All pools are formatted using feature flags.

Some supported features are not enabled on the following pools. Once a
feature is enabled the pool may become incompatible with software
that does not support the feature. See zpool-features(7) for details.

Note that the pool 'compatibility' feature can be used to inhibit
feature upgrades.

POOL  FEATURE
---------------
NONCONF
      longname
      large_microzap
ZFS_4TB
      zilsaxattr
      head_errlog
      blake3
      block_cloning
      vdev_zaps_v2
      redaction_list_spill
      raidz_expansion
      fast_dedup
      longname
      large_microzap
...

Any clarification anyone can offer, or pointers to documentation to read? The documenation reference doesn’t seem to go into any implementation details.

The keyword is “might” in “might make some features.”

In the specific case between 24.10 (2.2.99-1) and current 25.04 (2.3.0-1) there are no feature flag differences, and a pool created on or upgraded to 25.04 should import on 24.10

1 Like

Thanks. I see that I did the above command wrong (did a zfs upgrade rather than zpool upgrade, and now that I fixed it, under EE, I actually get:

root@TrueNAS01[~]# zpool upgrade
This system supports ZFS pool feature flags.

All pools are formatted using feature flags.


Some supported features are not enabled on the following pools. Once a
feature is enabled the pool may become incompatible with software
that does not support the feature. See zpool-features(7) for details.

Note that the pool 'compatibility' feature can be used to inhibit
feature upgrades.

POOL  FEATURE
---------------
ZFS_4TB
      zilsaxattr
      head_errlog
      blake3
      block_cloning
      vdev_zaps_v2
      redaction_list_spill
      raidz_expansion
      fast_dedup

which confirms the output I see under Fangtooth, e.g., of

NONCONF
      longname
      large_microzap

as suggesting those are new features under 25.04 (2.3.0-1), compared to 24.10 (2.2.99-1).

Similarly, I found the command zpool upgrade -v under 25.04, compared to under 24.10, gives a diff of these:

longname                             
     support filename up to 1024 bytes
large_microzap                        (read-only compatible)
     Support for microzaps larger than 128KB.

… although, I don’t know how relevant these are. As such, I can probably hold off on upgrading ZFS under Fangtooth while I experiment with the LXC ability, before finally upgrading.