ZFS: Allow setting checksum=skein on boot pools

PR:		245889
Reported by:	delphij
Sponsored by:	Klara Inc.
This commit is contained in:
Allan Jude 2020-06-19 17:59:55 +00:00
parent 7f8437c353
commit 9598fc63e6
3 changed files with 7 additions and 13 deletions

View File

@ -1001,9 +1001,9 @@ for more information on these algorithms.
.Pp
Changing this property affects only newly-written data.
.Pp
Salted checksum algorithms
.Pq Cm edonr , skein
are currently not supported for any filesystem on the boot pools.
The salted checksum algorithm
.Pq Cm edonr
is currently not supported on FreeBSD.
.It Sy compression Ns = Ns Cm on | off | lzjb | gzip | gzip- Ns Ar N | Cm zle | Cm lz4
Controls the compression algorithm used for this dataset.
Setting compression to

View File

@ -632,6 +632,9 @@ and will return to being
once all filesystems that have ever had their checksum set to
.Sy skein
are destroyed.
Booting off of pools using
.Sy skein
is supported.
.It Sy allocation_classes
.Bl -column "READ\-ONLY COMPATIBLE" "com.intel:allocation_classes"
.It GUID Ta com.intel:allocation_classes

View File

@ -4373,16 +4373,7 @@ zfs_check_settable(const char *dsname, nvpair_t *pair, cred_t *cr)
if ((err = spa_open(dsname, &spa, FTAG)) != 0)
return (err);
/*
* Salted checksums are not supported on root pools.
*/
if (spa_bootfs(spa) != 0 &&
intval < ZIO_CHECKSUM_FUNCTIONS &&
(zio_checksum_table[intval].ci_flags &
ZCHECKSUM_FLAG_SALTED)) {
spa_close(spa, FTAG);
return (SET_ERROR(ERANGE));
}
if (!spa_feature_is_enabled(spa, feature)) {
spa_close(spa, FTAG);
return (SET_ERROR(ENOTSUP));