On 3/25/19 8:15 AM, Josh Paetzel wrote:
> "-o features=portable" means that features that are currently supported by 
> all tier-1 platforms.  This definition will change over time.  Specifically, 
> as of the current date, the following all supported the features:
>    - a numbered release of FreeBSD (currently FreeBSD 11.2)
>    - a numbered release of ZFSonLinux (currently ZoL 0.7.12)
>    - the code in illumos-gate as of 1 year prior (currently December 7, 2017, 
> commit b8e5ecd6 for bug 8895).

Is this the current version of each tier-1 platform, or the oldest
still-supported version of each tier-1 platform?

Based on your example of FreeBSD 11.2, it sounds like the oldest
still-supported version.

Using the oldest still-supported release, rather than the latest
release, will cause more lag in features=portable. Is this desirable or
necessary, given the portable-YYYY options would exist?

> From these definitions, users can make the following conclusions:
>  - I upgraded this machine sometime in 2017, therefore if I want to bring a 
> pool to it, I can use "-o features=portable-
>    2017" or earlier.

For Linux users, this doesn't necessarily hold true. The ZoL source
release version isn't necessarily as relevant as their distro's packaged
version, which additionally can be complicated by backports or similar.

Looking at now, so features=portable not features=portable-2017...

For Debian, that is currently 0.6.5.9 in Stretch or 0.7.12 via
stretch-backports; the upcoming Buster release will have 0.7.12. For
Ubuntu, that is currently 0.6.5.6 in Xenial, 0.7.5 in Bionic with 0.7.9
via the HWE ("backport") kernel, and 0.7.9 in Cosmic (non-LTS); the
upcoming Disco (non-LTS) release will have 0.7.12. Gentoo and Arch seem
to both have 0.7.13.

If you expand "tier-1 platforms" to include ZoL source (plus the Fedora
and RHEL/CentOS packages), Debian, Ubuntu, Gentoo, and Arch,
features=portable would be as old as ZoL 0.6.5.6 (from Ubuntu Xenial) if
you consider all supported versions, 0.6.5.9 for the latest LTS distro
releases (from Debian Stretch), or 0.6.5.9 for the latest released
distros ignoring LTS (from Debian Stretch).

In a few months, once Ubuntu Disco and Debian Buster are released, that
would change to ZoL 0.6.5.6 (from Ubuntu Xenial) if you consider all
supported versions, 0.7.5 for the latest LTS distro releases (from
Ubuntu Bionic), or 0.7.12 for the latest released distros ignoring LTS
(from Ubuntu Disco and Debian Buster).

Personally, I'd like to see the above distros included in the definition
of tier-1 platforms, and I would use "latest released LTS version" for
distros where LTS is relevant (e.g. Ubuntu), but not including Ubuntu's
HWE kernel packages or Debian's backports. So that would currently be
ZoL 0.7.5, changing to 0.7.12 later this year.

Ubuntu releases an LTS version every two years, on schedule. Debian
releases "when ready", but releases are about every two years. This is
in line with FreeBSD releasing about every two years, so expanding the
definition of "tier-1 platform" to include these specific Linux distros
is not likely to significantly slow the progress of features=portable.

I'm not a FreeBSD user, but a similar definition would use the latest
FreeBSD stable release, so that'd be FreeBSD 12.0 at the moment.

Considering only Linux and FreeBSD, Linux would currently be blocking
device_removal, obsolete_counts, spacemap_v2, and zpool_checkpoint and
FreeBSD would be blocking edonr, large_dnode, and userobj_accounting.

-- 
Richard

------------------------------------------
openzfs: openzfs-developer
Permalink: 
https://openzfs.topicbox.com/groups/developer/Td66d70a086ae5a9e-M7e1f9ec33b74af96a04e9159
Delivery options: https://openzfs.topicbox.com/groups/developer/subscription

Reply via email to