zfeature_register() should verify ZFEATURE_FLAG_PER_DATASET implies SPA_FEATURE_EXTENSIBLE_DATASET
In order to avoid bugs like https://www.illumos.org/issues/6585 (cf. https://github.com/openzfs/openzfs/pull/51) in the future, @ahrens suggested, "It would be nice if zfeature_register() could verify that if ZFEATURE_FLAG_PER_DATASET is set, then the feature depends on SPA_FEATURE_EXTENSIBLE_DATASET." The converse need not be true.
(if A, then B) is equivalent to (~A || B), so we can VERIFY that ZFEATURE_FLAG_PER_DATASET is not set or SPA_FEATURE_EXTENSIBLE_DATASET is in the dependency array.
Updated by Electric Monk about 4 years ago
- % Done changed from 0 to 100
- Status changed from New to Closed
commit 0803e914d3511e82e0b1cc0c888af873a4aaa7d1 Author: ilovezfs <email@example.com> Date: 2016-02-11T18:22:28.000Z 6603 zfeature_register() should verify ZFEATURE_FLAG_PER_DATASET implies SPA_FEATURE_EXTENSIBLE_DATASET Reviewed by: Matthew Ahrens <firstname.lastname@example.org> Reviewed by: Richard Laager <email@example.com> Approved by: Robert Mustacchi <firstname.lastname@example.org>