Files
mirror_zfs/include/sys
Colm 658fb8020f Add "compatibility" property for zpool feature sets
Property to allow sets of features to be specified; for compatibility
with specific versions / releases / external systems. Influences
the behavior of 'zpool upgrade' and 'zpool create'. Initial man
page changes and test cases included.

Brief synopsis:

zpool create -o compatibility=off|legacy|file[,file...] pool vdev...

compatibility = off : disable compatibility mode (enable all features)
compatibility = legacy : request that no features be enabled
compatibility = file[,file...] : read features from specified files.
Only features present in *all* files will be enabled on the
resulting pool. Filenames may be absolute, or relative to
/etc/zfs/compatibility.d or /usr/share/zfs/compatibility.d (/etc
checked first).

Only affects zpool create, zpool upgrade and zpool status.

ABI changes in libzfs:

* New function "zpool_load_compat" to load and parse compat sets.
* Add "zpool_compat_status_t" typedef for compatibility parse status.
* Add ZPOOL_PROP_COMPATIBILITY to the pool properties enum
* Add ZPOOL_STATUS_COMPATIBILITY_ERR to the pool status enum

An initial set of base compatibility sets are included in
cmd/zpool/compatibility.d, and the Makefile for cmd/zpool is
modified to install these in $pkgdatadir/compatibility.d and to
create symbolic links to a reasonable set of aliases.

Reviewed-by: ericloewe
Reviewed-by: Matthew Ahrens <mahrens@delphix.com>
Reviewed-by: Richard Laager <rlaager@wiktel.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Colm Buckley <colm@tuatha.org>
Closes #11468
2021-02-17 21:30:45 -08:00
..
2021-01-20 21:27:30 -08:00
2020-09-04 10:34:28 -07:00
2020-09-22 16:03:11 -07:00
2020-10-30 15:26:10 -07:00
2020-12-12 16:00:00 -08:00
2020-12-10 14:09:23 -08:00
2019-10-09 10:36:03 -07:00
2019-07-26 10:54:14 -07:00
2019-07-26 10:54:14 -07:00
2019-06-19 09:48:12 -07:00
2020-06-09 21:24:09 -07:00
2019-06-19 09:48:12 -07:00
2020-01-10 10:16:58 -08:00
2019-06-19 09:48:12 -07:00
2020-07-29 16:35:33 -07:00
2021-01-21 15:12:54 -08:00
2020-07-29 16:35:33 -07:00
2019-06-24 16:44:01 -07:00
2019-07-26 10:54:14 -07:00
2020-07-29 16:35:33 -07:00
2020-11-13 13:51:51 -08:00
2020-09-04 10:29:39 -07:00
2013-11-04 11:17:48 -08:00
2019-08-30 09:53:15 -07:00
2017-10-11 16:54:48 -04:00
2020-11-13 13:51:51 -08:00
2018-05-29 16:00:33 -07:00
2019-06-19 09:48:12 -07:00
2019-09-12 13:33:44 -07:00
2020-07-29 16:35:33 -07:00
2020-07-29 16:35:33 -07:00
2021-01-20 21:27:30 -08:00
2019-07-16 10:11:49 -07:00
2021-01-21 15:12:54 -08:00
2019-08-30 09:53:15 -07:00
2020-11-13 13:51:51 -08:00
2020-10-02 17:44:10 -07:00
2017-07-13 13:54:00 -04:00
2021-01-20 21:27:30 -08:00
2013-11-04 10:55:25 -08:00
2020-11-13 13:51:51 -08:00
2021-01-26 19:36:51 -08:00
2019-03-29 09:13:20 -07:00
2020-11-13 13:51:51 -08:00
2020-06-09 10:15:08 -07:00
2021-01-21 15:12:54 -08:00
2019-06-12 13:13:09 -07:00
2018-02-08 15:28:18 -08:00
2018-02-08 15:28:18 -08:00
2020-11-02 11:51:12 -08:00
2018-05-29 16:00:33 -07:00
2020-10-13 21:25:48 -07:00
2021-01-20 21:27:30 -08:00
2018-09-06 21:44:52 -07:00
2021-01-20 21:27:30 -08:00
2019-06-10 11:48:42 -07:00
2017-03-29 12:24:51 -07:00
2020-08-20 10:30:06 -07:00
2020-08-20 10:30:06 -07:00
2020-07-03 11:05:50 -07:00
2020-11-13 13:51:51 -08:00
2020-07-29 09:43:33 -07:00