]>
Commit | Line | Data |
---|---|---|
9ae529ec | 1 | '\" te |
3c67d83a | 2 | .\" Copyright (c) 2012, 2015 by Delphix. All rights reserved. |
9759c60f | 3 | .\" Copyright (c) 2013 by Saso Kiselkov. All rights reserved. |
788eb90c | 4 | .\" Copyright (c) 2014, Joyent, Inc. All rights reserved. |
9ae529ec CS |
5 | .\" The contents of this file are subject to the terms of the Common Development |
6 | .\" and Distribution License (the "License"). You may not use this file except | |
7 | .\" in compliance with the License. You can obtain a copy of the license at | |
8 | .\" usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. | |
9 | .\" | |
10 | .\" See the License for the specific language governing permissions and | |
11 | .\" limitations under the License. When distributing Covered Code, include this | |
12 | .\" CDDL HEADER in each file and include the License file at | |
13 | .\" usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this | |
14 | .\" CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your | |
15 | .\" own identifying information: | |
16 | .\" Portions Copyright [yyyy] [name of copyright owner] | |
93cf2076 | 17 | .TH ZPOOL-FEATURES 5 "Aug 27, 2013" |
9ae529ec CS |
18 | .SH NAME |
19 | zpool\-features \- ZFS pool feature descriptions | |
20 | .SH DESCRIPTION | |
21 | .sp | |
22 | .LP | |
23 | ZFS pool on\-disk format versions are specified via "features" which replace | |
24 | the old on\-disk format numbers (the last supported on\-disk format number is | |
b9b24bb4 | 25 | 28). To enable a feature on a pool use the \fBupgrade\fR subcommand of the |
a3177028 | 26 | \fBzpool\fR(8) command, or set the \fBfeature@\fR\fIfeature_name\fR property |
b9b24bb4 | 27 | to \fBenabled\fR. |
9ae529ec CS |
28 | .sp |
29 | .LP | |
30 | The pool format does not affect file system version compatibility or the ability | |
31 | to send file systems between pools. | |
32 | .sp | |
33 | .LP | |
34 | Since most features can be enabled independently of each other the on\-disk | |
35 | format of the pool is specified by the set of all features marked as | |
36 | \fBactive\fR on the pool. If the pool was created by another software version | |
37 | this set may include unsupported features. | |
38 | .SS "Identifying features" | |
39 | .sp | |
40 | .LP | |
41 | Every feature has a guid of the form \fIcom.example:feature_name\fR. The reverse | |
42 | DNS name ensures that the feature's guid is unique across all ZFS | |
43 | implementations. When unsupported features are encountered on a pool they will | |
44 | be identified by their guids. Refer to the documentation for the ZFS | |
45 | implementation that created the pool for information about those features. | |
46 | .sp | |
47 | .LP | |
48 | Each supported feature also has a short name. By convention a feature's short | |
49 | name is the portion of its guid which follows the ':' (e.g. | |
50 | \fIcom.example:feature_name\fR would have the short name \fIfeature_name\fR), | |
51 | however a feature's short name may differ across ZFS implementations if | |
52 | following the convention would result in name conflicts. | |
53 | .SS "Feature states" | |
54 | .sp | |
55 | .LP | |
56 | Features can be in one of three states: | |
57 | .sp | |
58 | .ne 2 | |
59 | .na | |
60 | \fB\fBactive\fR\fR | |
61 | .ad | |
62 | .RS 12n | |
63 | This feature's on\-disk format changes are in effect on the pool. Support for | |
64 | this feature is required to import the pool in read\-write mode. If this | |
65 | feature is not read-only compatible, support is also required to import the pool | |
66 | in read\-only mode (see "Read\-only compatibility"). | |
67 | .RE | |
68 | ||
69 | .sp | |
70 | .ne 2 | |
71 | .na | |
72 | \fB\fBenabled\fR\fR | |
73 | .ad | |
74 | .RS 12n | |
75 | An administrator has marked this feature as enabled on the pool, but the | |
76 | feature's on\-disk format changes have not been made yet. The pool can still be | |
77 | imported by software that does not support this feature, but changes may be made | |
78 | to the on\-disk format at any time which will move the feature to the | |
79 | \fBactive\fR state. Some features may support returning to the \fBenabled\fR | |
80 | state after becoming \fBactive\fR. See feature\-specific documentation for | |
81 | details. | |
82 | .RE | |
83 | ||
84 | .sp | |
85 | .ne 2 | |
86 | .na | |
87 | \fBdisabled\fR | |
88 | .ad | |
89 | .RS 12n | |
90 | This feature's on\-disk format changes have not been made and will not be made | |
91 | unless an administrator moves the feature to the \fBenabled\fR state. Features | |
92 | cannot be disabled once they have been enabled. | |
93 | .RE | |
94 | ||
95 | .sp | |
96 | .LP | |
97 | The state of supported features is exposed through pool properties of the form | |
98 | \fIfeature@short_name\fR. | |
99 | .SS "Read\-only compatibility" | |
100 | .sp | |
101 | .LP | |
102 | Some features may make on\-disk format changes that do not interfere with other | |
103 | software's ability to read from the pool. These features are referred to as | |
104 | "read\-only compatible". If all unsupported features on a pool are read\-only | |
105 | compatible, the pool can be imported in read\-only mode by setting the | |
a3177028 | 106 | \fBreadonly\fR property during import (see \fBzpool\fR(8) for details on |
9ae529ec CS |
107 | importing pools). |
108 | .SS "Unsupported features" | |
109 | .sp | |
110 | .LP | |
111 | For each unsupported feature enabled on an imported pool a pool property | |
112 | named \fIunsupported@feature_guid\fR will indicate why the import was allowed | |
113 | despite the unsupported feature. Possible values for this property are: | |
114 | ||
115 | .sp | |
116 | .ne 2 | |
117 | .na | |
118 | \fB\fBinactive\fR\fR | |
119 | .ad | |
120 | .RS 12n | |
121 | The feature is in the \fBenabled\fR state and therefore the pool's on\-disk | |
122 | format is still compatible with software that does not support this feature. | |
123 | .RE | |
124 | ||
125 | .sp | |
126 | .ne 2 | |
127 | .na | |
128 | \fB\fBreadonly\fR\fR | |
129 | .ad | |
130 | .RS 12n | |
131 | The feature is read\-only compatible and the pool has been imported in | |
132 | read\-only mode. | |
133 | .RE | |
134 | ||
135 | .SS "Feature dependencies" | |
136 | .sp | |
137 | .LP | |
138 | Some features depend on other features being enabled in order to function | |
139 | properly. Enabling a feature will automatically enable any features it | |
140 | depends on. | |
141 | .SH FEATURES | |
142 | .sp | |
143 | .LP | |
144 | The following features are supported on this system: | |
145 | .sp | |
146 | .ne 2 | |
147 | .na | |
148 | \fB\fBasync_destroy\fR\fR | |
149 | .ad | |
150 | .RS 4n | |
151 | .TS | |
152 | l l . | |
153 | GUID com.delphix:async_destroy | |
154 | READ\-ONLY COMPATIBLE yes | |
155 | DEPENDENCIES none | |
156 | .TE | |
157 | ||
158 | Destroying a file system requires traversing all of its data in order to | |
159 | return its used space to the pool. Without \fBasync_destroy\fR the file system | |
160 | is not fully removed until all space has been reclaimed. If the destroy | |
161 | operation is interrupted by a reboot or power outage the next attempt to open | |
162 | the pool will need to complete the destroy operation synchronously. | |
163 | ||
164 | When \fBasync_destroy\fR is enabled the file system's data will be reclaimed | |
165 | by a background process, allowing the destroy operation to complete without | |
166 | traversing the entire file system. The background process is able to resume | |
167 | interrupted destroys after the pool has been opened, eliminating the need | |
168 | to finish interrupted destroys as part of the open operation. The amount | |
169 | of space remaining to be reclaimed by the background process is available | |
170 | through the \fBfreeing\fR property. | |
171 | ||
172 | This feature is only \fBactive\fR while \fBfreeing\fR is non\-zero. | |
173 | .RE | |
753c3839 MA |
174 | |
175 | .sp | |
176 | .ne 2 | |
177 | .na | |
178 | \fB\fBempty_bpobj\fR\fR | |
179 | .ad | |
180 | .RS 4n | |
181 | .TS | |
182 | l l . | |
183 | GUID com.delphix:empty_bpobj | |
184 | READ\-ONLY COMPATIBLE yes | |
185 | DEPENDENCIES none | |
186 | .TE | |
187 | ||
188 | This feature increases the performance of creating and using a large | |
189 | number of snapshots of a single filesystem or volume, and also reduces | |
190 | the disk space required. | |
191 | ||
192 | When there are many snapshots, each snapshot uses many Block Pointer | |
193 | Objects (bpobj's) to track blocks associated with that snapshot. | |
194 | However, in common use cases, most of these bpobj's are empty. This | |
195 | feature allows us to create each bpobj on-demand, thus eliminating the | |
196 | empty bpobjs. | |
197 | ||
198 | This feature is \fBactive\fR while there are any filesystems, volumes, | |
199 | or snapshots which were created after enabling this feature. | |
200 | .RE | |
201 | ||
788eb90c JJ |
202 | .sp |
203 | .ne 2 | |
204 | .na | |
205 | \fB\fBfilesystem_limits\fR\fR | |
206 | .ad | |
207 | .RS 4n | |
208 | .TS | |
209 | l l . | |
210 | GUID com.joyent:filesystem_limits | |
211 | READ\-ONLY COMPATIBLE yes | |
212 | DEPENDENCIES extensible_dataset | |
213 | .TE | |
214 | ||
215 | This feature enables filesystem and snapshot limits. These limits can be used | |
216 | to control how many filesystems and/or snapshots can be created at the point in | |
217 | the tree on which the limits are set. | |
218 | ||
219 | This feature is \fBactive\fR once either of the limit properties has been | |
220 | set on a dataset. Once activated the feature is never deactivated. | |
221 | .RE | |
222 | ||
9759c60f ED |
223 | .sp |
224 | .ne 2 | |
225 | .na | |
226 | \fB\fBlz4_compress\fR\fR | |
227 | .ad | |
228 | .RS 4n | |
229 | .TS | |
230 | l l . | |
231 | GUID org.illumos:lz4_compress | |
232 | READ\-ONLY COMPATIBLE no | |
233 | DEPENDENCIES none | |
234 | .TE | |
235 | ||
236 | \fBlz4\fR is a high-performance real-time compression algorithm that | |
237 | features significantly faster compression and decompression as well as a | |
238 | higher compression ratio than the older \fBlzjb\fR compression. | |
239 | Typically, \fBlz4\fR compression is approximately 50% faster on | |
240 | compressible data and 200% faster on incompressible data than | |
241 | \fBlzjb\fR. It is also approximately 80% faster on decompression, while | |
242 | giving approximately 10% better compression ratio. | |
243 | ||
244 | When the \fBlz4_compress\fR feature is set to \fBenabled\fR, the | |
245 | administrator can turn on \fBlz4\fR compression on any dataset on the | |
a3177028 | 246 | pool using the \fBzfs\fR(8) command. Please note that doing so will |
9759c60f | 247 | immediately activate the \fBlz4_compress\fR feature on the underlying |
62bdd5eb DL |
248 | pool using the \fBzfs\fR(1M) command. Also, all newly written metadata |
249 | will be compressed with \fBlz4\fR algorithm. Since this feature is not | |
250 | read-only compatible, this operation will render the pool unimportable | |
251 | on systems without support for the \fBlz4_compress\fR feature. Booting | |
252 | off of \fBlz4\fR-compressed root pools is supported. | |
253 | ||
254 | This feature becomes \fBactive\fR as soon as it is enabled and will | |
255 | never return to being \fBenabled\fB. | |
93cf2076 GW |
256 | .RE |
257 | ||
258 | .sp | |
259 | .ne 2 | |
260 | .na | |
261 | \fB\fBspacemap_histogram\fR\fR | |
262 | .ad | |
263 | .RS 4n | |
264 | .TS | |
265 | l l . | |
266 | GUID com.delphix:spacemap_histogram | |
267 | READ\-ONLY COMPATIBLE yes | |
268 | DEPENDENCIES none | |
269 | .TE | |
270 | ||
271 | This features allows ZFS to maintain more information about how free space | |
272 | is organized within the pool. If this feature is \fBenabled\fR, ZFS will | |
273 | set this feature to \fBactive\fR when a new space map object is created or | |
274 | an existing space map is upgraded to the new format. Once the feature is | |
275 | \fBactive\fR, it will remain in that state until the pool is destroyed. | |
9759c60f ED |
276 | |
277 | .RE | |
278 | ||
42db43e9 GDN |
279 | .sp |
280 | .ne 2 | |
281 | .na | |
282 | \fB\fBmulti_vdev_crash_dump\fR\fR | |
283 | .ad | |
284 | .RS 4n | |
285 | .TS | |
286 | l l . | |
287 | GUID com.joyent:multi_vdev_crash_dump | |
288 | READ\-ONLY COMPATIBLE no | |
289 | DEPENDENCIES none | |
290 | .TE | |
291 | ||
292 | This feature allows a dump device to be configured with a pool comprised | |
293 | of multiple vdevs. Those vdevs may be arranged in any mirrored or raidz | |
294 | configuration. | |
295 | ||
296 | When the \fBmulti_vdev_crash_dump\fR feature is set to \fBenabled\fR, | |
297 | the administrator can use the \fBdumpadm\fR(1M) command to configure a | |
298 | dump device on a pool comprised of multiple vdevs. | |
299 | ||
300 | Under Linux this feature is registered for compatibility but not used. | |
301 | New pools created under Linux will have the feature \fBenabled\fR but | |
302 | will never transition to \fB\fBactive\fR. This functionality is not | |
303 | required in order to support crash dumps under Linux. Existing pools | |
304 | where this feature is \fB\fBactive\fR can be imported. | |
305 | .RE | |
306 | ||
fa86b5db MA |
307 | .sp |
308 | .ne 2 | |
309 | .na | |
310 | \fB\fBextensible_dataset\fR\fR | |
311 | .ad | |
312 | .RS 4n | |
313 | .TS | |
314 | l l . | |
315 | GUID com.delphix:extensible_dataset | |
316 | READ\-ONLY COMPATIBLE no | |
317 | DEPENDENCIES none | |
318 | .TE | |
319 | ||
320 | This feature allows more flexible use of internal ZFS data structures, | |
321 | and exists for other features to depend on. | |
322 | ||
323 | This feature will be \fBactive\fR when the first dependent feature uses it, | |
324 | and will be returned to the \fBenabled\fR state when all datasets that use | |
325 | this feature are destroyed. | |
326 | ||
327 | .RE | |
328 | ||
da536844 MA |
329 | .sp |
330 | .ne 2 | |
331 | .na | |
332 | \fB\fBbookmarks\fR\fR | |
333 | .ad | |
334 | .RS 4n | |
335 | .TS | |
336 | l l . | |
337 | GUID com.delphix:bookmarks | |
338 | READ\-ONLY COMPATIBLE yes | |
339 | DEPENDENCIES extensible_dataset | |
340 | .TE | |
341 | ||
342 | This feature enables use of the \fBzfs bookmark\fR subcommand. | |
343 | ||
344 | This feature is \fBactive\fR while any bookmarks exist in the pool. | |
345 | All bookmarks in the pool can be listed by running | |
346 | \fBzfs list -t bookmark -r \fIpoolname\fR\fR. | |
347 | ||
348 | .RE | |
349 | ||
b0bc7a84 MG |
350 | .sp |
351 | .ne 2 | |
352 | .na | |
353 | \fB\fBenabled_txg\fR\fR | |
354 | .ad | |
355 | .RS 4n | |
356 | .TS | |
357 | l l . | |
358 | GUID com.delphix:enabled_txg | |
359 | READ\-ONLY COMPATIBLE yes | |
360 | DEPENDENCIES none | |
361 | .TE | |
362 | ||
363 | Once this feature is enabled ZFS records the transaction group number | |
364 | in which new features are enabled. This has no user-visible impact, | |
365 | but other features may depend on this feature. | |
366 | ||
367 | This feature becomes \fBactive\fR as soon as it is enabled and will | |
368 | never return to being \fBenabled\fB. | |
369 | ||
370 | .RE | |
371 | ||
372 | .sp | |
373 | .ne 2 | |
374 | .na | |
375 | \fB\fBhole_birth\fR\fR | |
376 | .ad | |
377 | .RS 4n | |
378 | .TS | |
379 | l l . | |
380 | GUID com.delphix:hole_birth | |
381 | READ\-ONLY COMPATIBLE no | |
382 | DEPENDENCIES enabled_txg | |
383 | .TE | |
384 | ||
385 | This feature improves performance of incremental sends ("zfs send -i") | |
386 | and receives for objects with many holes. The most common case of | |
387 | hole-filled objects is zvols. | |
388 | ||
389 | An incremental send stream from snapshot \fBA\fR to snapshot \fBB\fR | |
390 | contains information about every block that changed between \fBA\fR and | |
391 | \fBB\fR. Blocks which did not change between those snapshots can be | |
392 | identified and omitted from the stream using a piece of metadata called | |
393 | the 'block birth time', but birth times are not recorded for holes (blocks | |
394 | filled only with zeroes). Since holes created after \fBA\fR cannot be | |
395 | distinguished from holes created before \fBA\fR, information about every | |
396 | hole in the entire filesystem or zvol is included in the send stream. | |
397 | ||
398 | For workloads where holes are rare this is not a problem. However, when | |
399 | incrementally replicating filesystems or zvols with many holes (for | |
400 | example a zvol formatted with another filesystem) a lot of time will | |
401 | be spent sending and receiving unnecessary information about holes that | |
402 | already exist on the receiving side. | |
403 | ||
404 | Once the \fBhole_birth\fR feature has been enabled the block birth times | |
405 | of all new holes will be recorded. Incremental sends between snapshots | |
406 | created after this feature is enabled will use this new metadata to avoid | |
407 | sending information about holes that already exist on the receiving side. | |
408 | ||
409 | This feature becomes \fBactive\fR as soon as it is enabled and will | |
410 | never return to being \fBenabled\fB. | |
411 | ||
412 | .RE | |
413 | ||
9b67f605 MA |
414 | .sp |
415 | .ne 2 | |
416 | .na | |
417 | \fB\fBembedded_data\fR\fR | |
418 | .ad | |
419 | .RS 4n | |
420 | .TS | |
421 | l l . | |
422 | GUID com.delphix:embedded_data | |
423 | READ\-ONLY COMPATIBLE no | |
424 | DEPENDENCIES none | |
425 | .TE | |
426 | ||
427 | This feature improves the performance and compression ratio of | |
428 | highly-compressible blocks. Blocks whose contents can compress to 112 bytes | |
429 | or smaller can take advantage of this feature. | |
430 | ||
431 | When this feature is enabled, the contents of highly-compressible blocks are | |
432 | stored in the block "pointer" itself (a misnomer in this case, as it contains | |
6b4e21c6 | 433 | the compressed data, rather than a pointer to its location on disk). Thus |
9b67f605 MA |
434 | the space of the block (one sector, typically 512 bytes or 4KB) is saved, |
435 | and no additional i/o is needed to read and write the data block. | |
436 | ||
437 | This feature becomes \fBactive\fR as soon as it is enabled and will | |
438 | never return to being \fBenabled\fR. | |
439 | ||
440 | .RE | |
b0bc7a84 | 441 | |
f1512ee6 MA |
442 | .sp |
443 | .ne 2 | |
444 | .na | |
445 | \fB\fBlarge_blocks\fR\fR | |
446 | .ad | |
447 | .RS 4n | |
448 | .TS | |
449 | l l . | |
450 | GUID org.open-zfs:large_block | |
451 | READ\-ONLY COMPATIBLE no | |
452 | DEPENDENCIES extensible_dataset | |
453 | .TE | |
454 | ||
455 | The \fBlarge_block\fR feature allows the record size on a dataset to be | |
456 | set larger than 128KB. | |
457 | ||
458 | This feature becomes \fBactive\fR once a \fBrecordsize\fR property has been | |
459 | set larger than 128KB, and will return to being \fBenabled\fR once all | |
460 | filesystems that have ever had their recordsize larger than 128KB are destroyed. | |
461 | .RE | |
462 | ||
50c957f7 NB |
463 | .sp |
464 | .ne 2 | |
465 | .na | |
466 | \fB\fBlarge_dnode\fR\fR | |
467 | .ad | |
468 | .RS 4n | |
469 | .TS | |
470 | l l . | |
471 | GUID org.zfsonlinux:large_dnode | |
472 | READ\-ONLY COMPATIBLE no | |
473 | DEPENDENCIES extensible_dataset | |
474 | .TE | |
475 | ||
476 | The \fBlarge_dnode\fR feature allows the size of dnodes in a dataset to be | |
477 | set larger than 512B. | |
478 | ||
479 | This feature becomes \fBactive\fR once a dataset contains an object with | |
480 | a dnode larger than 512B, which occurs as a result of setting the | |
481 | \fBdnodesize\fR dataset property to a value other than \fBlegacy\fR. The | |
482 | feature will return to being \fBenabled\fR once all filesystems that | |
483 | have ever contained a dnode larger than 512B are destroyed. Large dnodes | |
484 | allow more data to be stored in the bonus buffer, thus potentially | |
485 | improving performance by avoiding the use of spill blocks. | |
486 | .RE | |
487 | ||
3c67d83a TH |
488 | \fB\fBsha512\fR\fR |
489 | .ad | |
490 | .RS 4n | |
491 | .TS | |
492 | l l . | |
493 | GUID org.illumos:sha512 | |
494 | READ\-ONLY COMPATIBLE no | |
125a406e | 495 | DEPENDENCIES extensible_dataset |
3c67d83a TH |
496 | .TE |
497 | ||
498 | This feature enables the use of the SHA-512/256 truncated hash algorithm | |
499 | (FIPS 180-4) for checksum and dedup. The native 64-bit arithmetic of | |
500 | SHA-512 provides an approximate 50% performance boost over SHA-256 on | |
501 | 64-bit hardware and is thus a good minimum-change replacement candidate | |
502 | for systems where hash performance is important, but these systems | |
503 | cannot for whatever reason utilize the faster \fBskein\fR and | |
504 | \fBedonr\fR algorithms. | |
505 | ||
506 | When the \fBsha512\fR feature is set to \fBenabled\fR, the administrator | |
507 | can turn on the \fBsha512\fR checksum on any dataset using the | |
508 | \fBzfs set checksum=sha512\fR(1M) command. This feature becomes | |
509 | \fBactive\fR once a \fBchecksum\fR property has been set to \fBsha512\fR, | |
510 | and will return to being \fBenabled\fR once all filesystems that have | |
511 | ever had their checksum set to \fBsha512\fR are destroyed. | |
512 | ||
513 | Booting off of pools utilizing SHA-512/256 is supported (provided that | |
514 | the updated GRUB stage2 module is installed). | |
515 | ||
516 | .RE | |
517 | ||
518 | .sp | |
519 | .ne 2 | |
520 | .na | |
521 | \fB\fBskein\fR\fR | |
522 | .ad | |
523 | .RS 4n | |
524 | .TS | |
525 | l l . | |
526 | GUID org.illumos:skein | |
527 | READ\-ONLY COMPATIBLE no | |
125a406e | 528 | DEPENDENCIES extensible_dataset |
3c67d83a TH |
529 | .TE |
530 | ||
531 | This feature enables the use of the Skein hash algorithm for checksum | |
532 | and dedup. Skein is a high-performance secure hash algorithm that was a | |
533 | finalist in the NIST SHA-3 competition. It provides a very high security | |
534 | margin and high performance on 64-bit hardware (80% faster than | |
535 | SHA-256). This implementation also utilizes the new salted checksumming | |
536 | functionality in ZFS, which means that the checksum is pre-seeded with a | |
537 | secret 256-bit random key (stored on the pool) before being fed the data | |
538 | block to be checksummed. Thus the produced checksums are unique to a | |
539 | given pool, preventing hash collision attacks on systems with dedup. | |
540 | ||
541 | When the \fBskein\fR feature is set to \fBenabled\fR, the administrator | |
542 | can turn on the \fBskein\fR checksum on any dataset using the | |
543 | \fBzfs set checksum=skein\fR(1M) command. This feature becomes | |
544 | \fBactive\fR once a \fBchecksum\fR property has been set to \fBskein\fR, | |
545 | and will return to being \fBenabled\fR once all filesystems that have | |
546 | ever had their checksum set to \fBskein\fR are destroyed. | |
547 | ||
548 | Booting off of pools using \fBskein\fR is \fBNOT\fR supported | |
549 | -- any attempt to enable \fBskein\fR on a root pool will fail with an | |
550 | error. | |
551 | ||
552 | .RE | |
553 | ||
554 | .sp | |
555 | .ne 2 | |
556 | .na | |
557 | \fB\fBedonr\fR\fR | |
558 | .ad | |
559 | .RS 4n | |
560 | .TS | |
561 | l l . | |
562 | GUID org.illumos:edonr | |
563 | READ\-ONLY COMPATIBLE no | |
125a406e | 564 | DEPENDENCIES extensible_dataset |
3c67d83a TH |
565 | .TE |
566 | ||
567 | This feature enables the use of the Edon-R hash algorithm for checksum, | |
568 | including for nopwrite (if compression is also enabled, an overwrite of | |
569 | a block whose checksum matches the data being written will be ignored). | |
570 | In an abundance of caution, Edon-R can not be used with dedup | |
571 | (without verification). | |
572 | ||
573 | Edon-R is a very high-performance hash algorithm that was part | |
574 | of the NIST SHA-3 competition. It provides extremely high hash | |
575 | performance (over 350% faster than SHA-256), but was not selected | |
576 | because of its unsuitability as a general purpose secure hash algorithm. | |
577 | This implementation utilizes the new salted checksumming functionality | |
578 | in ZFS, which means that the checksum is pre-seeded with a secret | |
579 | 256-bit random key (stored on the pool) before being fed the data block | |
580 | to be checksummed. Thus the produced checksums are unique to a given | |
581 | pool. | |
582 | ||
583 | When the \fBedonr\fR feature is set to \fBenabled\fR, the administrator | |
584 | can turn on the \fBedonr\fR checksum on any dataset using the | |
585 | \fBzfs set checksum=edonr\fR(1M) command. This feature becomes | |
586 | \fBactive\fR once a \fBchecksum\fR property has been set to \fBedonr\fR, | |
587 | and will return to being \fBenabled\fR once all filesystems that have | |
588 | ever had their checksum set to \fBedonr\fR are destroyed. | |
589 | ||
590 | Booting off of pools using \fBedonr\fR is \fBNOT\fR supported | |
591 | -- any attempt to enable \fBedonr\fR on a root pool will fail with an | |
592 | error. | |
593 | ||
1de321e6 JX |
594 | .sp |
595 | .ne 2 | |
596 | .na | |
597 | \fB\fBuserobj_accounting\fR\fR | |
598 | .ad | |
599 | .RS 4n | |
600 | .TS | |
601 | l l . | |
602 | GUID org.zfsonlinux:userobj_accounting | |
603 | READ\-ONLY COMPATIBLE yes | |
604 | DEPENDENCIES extensible_dataset | |
605 | .TE | |
606 | ||
607 | This feature allows administrators to account the object usage information | |
608 | by user and group. | |
609 | ||
610 | This feature becomes \fBactive\fR as soon as it is enabled and will never | |
611 | return to being \fBenabled\fR. Each filesystem will be upgraded automatically | |
612 | when remounted, or when new files are created under that filesystem. | |
613 | The upgrade can also be started manually on filesystems by running | |
614 | `zfs set version=current <pool/fs>`. The upgrade process runs in the background | |
615 | and may take a while to complete for filesystems containing a large number of | |
616 | files. | |
617 | ||
618 | .RE | |
619 | ||
9ae529ec | 620 | .SH "SEE ALSO" |
a3177028 | 621 | \fBzpool\fR(8) |