Skip to content

Commit

Permalink
OpenZFS 8906 - uts: illumos rootfs should support salted cksum
Browse files Browse the repository at this point in the history
Porting notes:
* As of grub-2.02 these checksums are not supported.  However, as
  pointed out in #6501 there are alternates see the issue for
  addition discussion.

Authored by: Toomas Soome <tsoome@me.com>
Reviewed by: C Fraire <cfraire@me.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Yuri Pankov <yuripv@yuripv.net>
Approved by: Dan McDonald <danmcd@joyent.com>
Ported-by: Brian Behlendorf <behlendorf1@llnl.gov>

OpenZFS-issue: https://illumos.org/issues/8906
OpenZFS-commit: openzfs/openzfs@7dec52f
Issue #6501
  • Loading branch information
tsoome authored and behlendorf committed Jul 13, 2018
1 parent 2e5dc44 commit 8ff691a
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 24 deletions.
13 changes: 4 additions & 9 deletions man/man5/zpool-features.5
Expand Up @@ -14,7 +14,7 @@
.\" CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your
.\" own identifying information:
.\" Portions Copyright [yyyy] [name of copyright owner]
.TH ZPOOL-FEATURES 5 "Aug 27, 2013"
.TH ZPOOL-FEATURES 5 "Jun 8, 2018"
.SH NAME
zpool\-features \- ZFS pool feature descriptions
.SH DESCRIPTION
Expand Down Expand Up @@ -598,8 +598,7 @@ can turn on the \fBsha512\fR checksum on any dataset using the
and will return to being \fBenabled\fR once all filesystems that have
ever had their checksum set to \fBsha512\fR are destroyed.

Booting off of pools utilizing SHA-512/256 is supported (provided that
the updated GRUB stage2 module is installed).
Booting off of pools utilizing SHA-512/256 is supported.

.RE

Expand Down Expand Up @@ -633,9 +632,7 @@ can turn on the \fBskein\fR checksum on any dataset using the
and will return to being \fBenabled\fR once all filesystems that have
ever had their checksum set to \fBskein\fR are destroyed.

Booting off of pools using \fBskein\fR is \fBNOT\fR supported
-- any attempt to enable \fBskein\fR on a root pool will fail with an
error.
Booting off of pools using \fBskein\fR is supported.

.RE

Expand Down Expand Up @@ -675,9 +672,7 @@ can turn on the \fBedonr\fR checksum on any dataset using the
and will return to being \fBenabled\fR once all filesystems that have
ever had their checksum set to \fBedonr\fR are destroyed.

Booting off of pools using \fBedonr\fR is \fBNOT\fR supported
-- any attempt to enable \fBedonr\fR on a root pool will fail with an
error.
Booting off of pools using \fBedonr\fR is supported.

.RE

Expand Down
6 changes: 1 addition & 5 deletions man/man8/zfs.8
Expand Up @@ -30,7 +30,7 @@
.\" Copyright 2017 Nexenta Systems, Inc.
.\" Copyright 2018 Joyent, Inc.
.\"
.Dd January 10, 2018
.Dd July 13, 2018
.Dt ZFS 8 SMM
.Os Linux
.Sh NAME
Expand Down Expand Up @@ -1189,10 +1189,6 @@ Please see
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.
.It Xo
.Sy compression Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Sy gzip Ns | Ns
.Sy gzip- Ns Em N Ns | Ns Sy lz4 Ns | Ns Sy lzjb Ns | Ns Sy zle
Expand Down
11 changes: 1 addition & 10 deletions module/zfs/zfs_ioctl.c
Expand Up @@ -4130,16 +4130,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 8ff691a

Please sign in to comment.