summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorToomas Soome <[email protected]>2016-06-01 19:18:10 +0300
committerBrian Behlendorf <[email protected]>2018-07-27 08:35:28 -0700
commit5fadb7fb0cc7429609f74c7f2221db882231fe3b (patch)
tree521088fdebaaaf729665cfcf25e8a04b37a1c740
parent3a549dc7a1f5e5511b4c8699081f704eeb4381b7 (diff)
OpenZFS 8906 - uts: illumos rootfs should support salted cksum
Porting notes: * As of grub-2.02 these checksums are not supported. However, as pointed out in #6501 there are alternatives such as EFISTUB which work and have no such restriction. A warning was added to the checksum property section of the zfs.8 man page. Authored by: Toomas Soome <[email protected]> Reviewed by: C Fraire <[email protected]> Reviewed by: Robert Mustacchi <[email protected]> Reviewed by: Yuri Pankov <[email protected]> Approved by: Dan McDonald <[email protected]> Ported-by: Brian Behlendorf <[email protected]> OpenZFS-issue: https://illumos.org/issues/8906 OpenZFS-commit: https://github.com/openzfs/openzfs/commit/7dec52f Closes #6501 Closes #7714
-rw-r--r--man/man5/zpool-features.518
-rw-r--r--man/man8/zfs.89
-rw-r--r--module/zfs/zfs_ioctl.c11
3 files changed, 12 insertions, 26 deletions
diff --git a/man/man5/zpool-features.5 b/man/man5/zpool-features.5
index 8d5f46821..bad432d12 100644
--- a/man/man5/zpool-features.5
+++ b/man/man5/zpool-features.5
@@ -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
@@ -248,8 +248,9 @@ immediately activate the \fBlz4_compress\fR feature on the underlying
pool using the \fBzfs\fR(1M) command. Also, all newly written metadata
will be compressed with \fBlz4\fR algorithm. Since this feature is not
read-only compatible, this operation will render the pool unimportable
-on systems without support for the \fBlz4_compress\fR feature. Booting
-off of \fBlz4\fR-compressed root pools is supported.
+on systems without support for the \fBlz4_compress\fR feature.
+
+Booting off of \fBlz4\fR-compressed root pools is supported.
This feature becomes \fBactive\fR as soon as it is enabled and will
never return to being \fBenabled\fB.
@@ -598,8 +599,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
@@ -633,9 +633,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
@@ -675,9 +673,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
diff --git a/man/man8/zfs.8 b/man/man8/zfs.8
index 5a74c66f4..f1eed207f 100644
--- a/man/man8/zfs.8
+++ b/man/man8/zfs.8
@@ -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
@@ -1184,15 +1184,14 @@ The
and
.Sy edonr
checksum algorithms require enabling the appropriate features on the pool.
+These algorithms are not supported by GRUB and should not be set on the
+.Sy bootfs
+filesystem when using GRUB to boot the system.
Please see
.Xr zpool-features 5
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
diff --git a/module/zfs/zfs_ioctl.c b/module/zfs/zfs_ioctl.c
index 911bf884a..a0d2127fb 100644
--- a/module/zfs/zfs_ioctl.c
+++ b/module/zfs/zfs_ioctl.c
@@ -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));