How bout a matrix to determine what features available across all platforms
exist, and so the first column that has all entries present becomes the
"compatible" baseline for the platform and version in question.
To convey the above, the example matrix below (ignoring the accuracy of the
version numbers and actual features listed) shows the evolution of the compat
flag over time as ZFS and compatibility between platforms develops.
Code wise, the compat atribute is simply a reference to what features to
"switch on" or "flag" as usable when creating a pool when the attribute
compat=compatn is used.
| ZFS Version Introduction |
ZFS FEATURE DESCRIPTION | BSD | Linux | macOS | Illumos | Compatibility
Version
edonr | 11.1 | | 1.5.2 | 37 |
encryption | 11.1 | 0.7.6 | 1.7.2 | 37 | compat1
device_removal | 11.1 | 0.7.8 | 1.7.4 | 37 | compat2
obsolete_counts | 11.1 | 0.7.9 | | 44 |
zpool_checkpoint | 11.1 | 0.7.11 | 1.8.2 | 44 | compat3
spacemap_v2 | 11.1 | 0.7.11 | 1.8.2 | 44 | compat4
End users are able to identify (and communicate with others) exactly what
compat number is in use, in order to ensure compatibility across all platforms.
I'm sure I've overlooked something, but do you think something like this would
work?
------------------------------------------
openzfs: openzfs-developer
Permalink:
https://openzfs.topicbox.com/groups/developer/T1ce8db6589272d89-Mfa70db818b67e0a2a3a40296
Delivery options: https://openzfs.topicbox.com/groups/developer/subscription