> It seems fine, perhaps, to allow __additional__ feature sets this way, but I > think the "portable" family really needs to be something compiled in. The > core value proposition is that "zpool create -o features=portable-2016" is > the same __everywhere__, and allowing it to be easily overridden seems likely > to erode that value. The core value proposition is that a pool created with zpool create -o features=portable-2016 *can be imported* on all systems this tag applies to, so one dosn't have to remember what exact features can be enabled without breaking compatibility.
It dosn't imply that all features that *would be* compatible *have to* be activated, should case a user not want a feature (for whatever reason) he should be able to remove it from the predefined list so *his* pools that *he* creates don't use it. The side value proposition is shutting up zpool status about upgrading a pool by being able to tell it that it should only complain when features included in a tag are not enabled. I for one at least want to be able to add a tag named 'no-nag' (with an empty feature list) just to get rid of zfs insisting on my pools urgently needing upgrades. > By allowing a custom define you've now also added responsibility for having > that define available on every system that imports the pool. What is your reasoning for that conclusion? Importing a pool is (and should stay) a question of the activated features being compatible with the running ZFS implementation. Having the prerequisite of a tag needing to be defined on a system to import a pool with it would boil down to introducing backward incompatibility (inability to add new not-bleeding edge tags as they would break import on older systems). I really hope it's not designed that way, in case it is: back to the drawing board, please. ------------------------------------------ openzfs: openzfs-developer Permalink: https://openzfs.topicbox.com/groups/developer/Td66d70a086ae5a9e-M68300d0964b67d9d08f67725 Delivery options: https://openzfs.topicbox.com/groups/developer/subscription
