On Thu, Dec 6, 2018 at 10:06 AM Josh Paetzel <[email protected]> wrote:

>
>
>
> On Thu, Dec 6, 2018, at 11:40 AM, Matthew Ahrens wrote:
>
>
>
> On Wed, Dec 5, 2018 at 9:21 PM Josh Paetzel <[email protected]> wrote:
>
> There was a proposal on this mailing list a week or so ago that sparked
> some good discussion regarding setting feature flags at pool creation.  We
> discussed this proposal on the last OpenZFS call and while we all agreed it
> was a good idea, we felt the UI could use a little workshopping.
>
>
> Thanks for leading this discussion, Josh!
>
>
>
> This proposal is simply a starting point for a discussion.
>
> The proposal is to add an optional flag at zpool create time.  -o features=
>
> which can be set to one of the following 4 settings:
>
> all:  The default and the current behavior of zpool create.  This setting
> enables all features supported by the in use OpenZFS version.
>
> compat: Enable async_destroy, empty_bpobj, filesystem_limits,
> lz4_compress, spacemap_histogram, extensible_dataset, bookmarks,
> enabled_txg, and hole_birth. This set of features is supported by
> FreeBSD/FreeNAS 9.3 (July of 2014), ZoL 0.6.4 ( 0.6.5.6 was used in Ubuntu
> 16.04 LTS), and Illumos in the early to mid 2014 era.
>
>
> I think the term "portable" is more specific than "compat[ible]", so "-o
> features=portable" is probably a better name.  Thanks to whoever suggested
> that at the meeting Tuesday.
>
>
> +1
>
> I think that the definition of "-o features=portable" needs to change over
> time, as features become more widely available.  Do you have thoughts on
> how specifically we should do that?
>
>
> One thought would be:  As a delivery vehicle drops out of support we can
> remove it from the list.  So say we have -o features=portable include
> Ubuntu 16.04 LTS.  When support for Ubuntu 16.04 LTS expires we remove it
> from the portable list.  Now, that directly contradicts the first pass at
> this.  For instance FreeBSD (and FreeNAS) 9.3-R have long been out of
> support by the "vendor"
>

I think that's a very conservative way to define it - essentially: you
"portable means you can take this pool to any FreeBSD or Ubuntu that's
supported by the vendor".  I would suggest we look at it from the other
direction: "portable means that there's some version of FreeBSD, ZoL, and
illumos that you can take your pool to".  More specifically we could say
"it's in a released version of FreeBSD (e.g. FreeBSD 11.1), a released
version of ZoL (e.g. Zol 0.7.2), and in the illumos master branch" (since
there's no "releases" of illumos).  That said, I'm open to variations on
this (e.g. should we say it's in a SmartOS release rather than illumos
master?  Or it's in FreeBSD-STABLE vs a numbered release?)

--matt



>
> Another thought would be "do it by date" . Which is to say, "Here are the
> Tier 1 platforms.  By using the portable flag you get feature flags that
> any Tier 1 platform supported 3 years ago from when what you are using now
> was released."
>
> Both of those are not very good ways to express, "systems that people
> might reasonably be using and might want to migrate pools between"
>
> --
>
> Thanks,
>
> Josh Paetzel
>
>
> *openzfs <https://openzfs.topicbox.com/latest>* / openzfs-developer / see
> discussions <https://openzfs.topicbox.com/groups/developer> + participants
> <https://openzfs.topicbox.com/groups/developer/members> + delivery options
> <https://openzfs.topicbox.com/groups/developer/subscription> Permalink
> <https://openzfs.topicbox.com/groups/developer/T562a2f6ecf883736-Mb86c3e2623b86d5eb4146234>
>

------------------------------------------
openzfs: openzfs-developer
Permalink: 
https://openzfs.topicbox.com/groups/developer/T562a2f6ecf883736-M8d637bbf6fca499d5f8ea637
Delivery options: https://openzfs.topicbox.com/groups/developer/subscription

Reply via email to