Better user experience for errata 4

This patch attempts to address some user concerns that have arisen
since errata 4 was introduced.

* The errata warning has been made less scary for users without
  any encrypted datasets.

* The errata warning now clears itself without a pool reimport if
  the bookmark_v2 feature is enabled and no encrypted datasets
  exist.

* It is no longer possible to create new encrypted datasets without
  enabling the bookmark_v2 feature, thus helping to ensure that the
  errata is resolved.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Tom Caputi <tcaputi@datto.com>
Issue ##8308
Closes #8504
This commit is contained in:
Tom Caputi
2019-03-14 19:48:30 -04:00
committed by Brian Behlendorf
parent 98310e5d1a
commit eaed840542
4 changed files with 39 additions and 12 deletions
+15 -11
View File
@@ -2479,15 +2479,17 @@ show_import(nvlist_t *config)
break;
case ZPOOL_ERRATA_ZOL_8308_ENCRYPTION:
(void) printf(gettext(" action: Existing "
(void) printf(gettext(" action: Any existing "
"encrypted datasets contain an on-disk "
"incompatibility which\n\tmay cause "
"incompatibility\n\twhich may cause "
"on-disk corruption with 'zfs recv' and "
"which needs to be\n\tcorrected. Enable "
"the bookmark_v2 feature and backup "
"these datasets to new encrypted "
"datasets and\n\tdestroy the "
"old ones.\n"));
"which needs\n\tto be corrected. Enable "
"the bookmark_v2 feature, backup "
"these datasets\n\tto new encrypted "
"datasets, and destroy the old ones. "
"If this pool does\n\tnot contain any "
"encrypted datasets, simply enable the "
"bookmark_v2\n\tfeature.\n"));
break;
default:
/*
@@ -7417,10 +7419,12 @@ status_callback(zpool_handle_t *zhp, void *data)
"contain an on-disk incompatibility\n\twhich "
"needs to be corrected.\n"));
(void) printf(gettext("action: To correct the issue "
"enable the bookmark_v2 feature and "
"backup\n\texisting encrypted datasets to new "
"encrypted datasets and\n\tdestroy the old "
"ones.\n"));
"enable the bookmark_v2 feature, backup\n\tany "
"existing encrypted datasets to new encrypted "
"datasets,\n\tand destroy the old ones. If this "
"pool does not contain any\n\tencrypted "
"datasets, simply enable the bookmark_v2 "
"feature.\n"));
break;
default: