Skip to content

Commit

Permalink
ZFS: Allow setting checksum=skein on boot pools
Browse files Browse the repository at this point in the history
PR:		245889
Reported by:	delphij
Sponsored by:	Klara Inc.
  • Loading branch information
allanjude committed Jun 19, 2020
1 parent 7f8437c commit 9598fc6
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 13 deletions.
6 changes: 3 additions & 3 deletions cddl/contrib/opensolaris/cmd/zfs/zfs.8
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 3 additions & 0 deletions cddl/contrib/opensolaris/cmd/zpool/zpool-features.7
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
11 changes: 1 addition & 10 deletions sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
Original file line number Diff line number Diff line change
Expand Up @@ -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));
Expand Down

0 comments on commit 9598fc6

Please sign in to comment.