Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
ZPOOL-FEATURES(5)	      File Formats Manual	     ZPOOL-FEATURES(5)

NAME
       zpool-features -	ZFS pool feature descriptions

DESCRIPTION
       ZFS pool	on-disk	format versions	are specified via "features" which re-
       place the old on-disk format numbers (the last supported	on-disk	format
       number is 28). To enable	a feature on a pool use	the upgrade subcommand
       of the zpool(8) command,	or set the  feature@feature_name  property  to
       enabled.	 Please	 also see the "Compatibility feature sets" section for
       information on how sets of features may be enabled together.

       The pool	format does not	affect file system  version  compatibility  or
       the ability to send file	systems	between	pools.

       Since  most  features  can  be  enabled independently of	each other the
       on-disk format of the pool is specified by  the	set  of	 all  features
       marked  as active on the	pool. If the pool was created by another soft-
       ware version this set may include unsupported features.

   Identifying features
       Every feature has a GUID	of the form com.example:feature_name. The  re-
       versed  DNS  name  ensures that the feature's GUID is unique across all
       ZFS implementations. When unsupported features  are  encountered	 on  a
       pool they will be identified by their GUIDs. Refer to the documentation
       for the ZFS implementation that created the pool	for information	 about
       those features.

       Each supported feature also has a short name. By	convention a feature's
       short name is the portion of its	 GUID  which  follows  the  ':'	 (e.g.
       com.example:feature_name	 would have the	short name feature_name), how-
       ever a feature's	short name may differ across  ZFS  implementations  if
       following the convention	would result in	name conflicts.

   Feature states
       Features	can be in one of three states:

       active
		   This	 feature's on-disk format changes are in effect	on the
		   pool. Support for this feature is required  to  import  the
		   pool	 in  read-write	mode. If this feature is not read-only
		   compatible, support is also required	to import the pool  in
		   read-only mode (see "Read-only compatibility").

       enabled
		   An  administrator has marked	this feature as	enabled	on the
		   pool, but the feature's on-disk  format  changes  have  not
		   been	 made  yet. The	pool can still be imported by software
		   that	does not support this feature, but changes may be made
		   to  the on-disk format at any time which will move the fea-
		   ture	to the active state. Some features may support return-
		   ing	to  the	 enabled state after becoming active. See fea-
		   ture-specific documentation for details.

       disabled
		   This	feature's on-disk format changes have  not  been  made
		   and will not	be made	unless an administrator	moves the fea-
		   ture	to the enabled state. Features cannot be disabled once
		   they	have been enabled.

       The  state  of supported	features is exposed through pool properties of
       the form	feature@short_name.

   Read-only compatibility
       Some features may make on-disk format changes  that  do	not  interfere
       with other software's ability to	read from the pool. These features are
       referred	to as "read-only compatible". If all unsupported features on a
       pool  are  read-only  compatible, the pool can be imported in read-only
       mode by setting the readonly property during import (see	 zpool(8)  for
       details on importing pools).

   Unsupported features
       For  each  unsupported feature enabled on an imported pool a pool prop-
       erty named unsupported@feature_name will	indicate why  the  import  was
       allowed despite the unsupported feature.	Possible values	for this prop-
       erty are:

       inactive
		   The feature is in  the  enabled  state  and	therefore  the
		   pool's  on-disk  format  is	still compatible with software
		   that	does not support this feature.

       readonly
		   The feature is read-only compatible and the pool  has  been
		   imported in read-only mode.

   Feature dependencies
       Some  features depend on	other features being enabled in	order to func-
       tion properly. Enabling a feature will automatically  enable  any  fea-
       tures it	depends	on.

   Compatibility feature sets
       It  is  sometimes necessary for a pool to maintain compatibility	with a
       specific	on-disk	format,	by enabling and	disabling particular features.
       The  compatibility feature facilitates this by allowing feature sets to
       be read from text files.	When set to off	(the  default);	 compatibility
       feature	sets  are disabled (ie:	all features are enabled); when	set to
       legacy; no features are enabled.	When set to a comma-separated list  of
       filenames (each filename	may either be an absolute path,	or relative to
       /etc/zfs/compatibility.d	or /usr/share/zfs/compatibility.d)  the	 lists
       of  requested  features	are read from those files, separated by	white-
       space and/or commas. Only features present in all files are enabled.

       Simple sanity checks are	applied	to the files; they must	be  between  1
       and 16,384 bytes	in size, and must end with a newline character.

       The  requested  features	are applied when a pool	is created using zpool
       create -o compatibility=... and controls	 which	features  are  enabled
       when  using  zpool  upgrade. zpool status will not show a warning about
       disabled	features which are not part of the requested feature set.

       By convention, compatibility  files  in	/usr/share/zfs/compatibility.d
       are provided by the distribution	package, and include feature sets sup-
       ported by important versions of popular distribtions, and feature  sets
       commonly	 supported  at the start of each year.	Compatibility files in
       /etc/zfs/compatibility.d, if present, will take precedence  over	 files
       with the	same name in /usr/share/zfs/compatibility.d.

       Compatibility files may include comments; any text from # to the	end of
       the line	is ignored.

       Example:
       # cat /usr/share/zfs/compatibility.d/grub2
       # Features which	are supported by GRUB2
       async_destroy
       bookmarks
       embedded_data
       empty_bpobj
       enabled_txg
       extensible_dataset
       filesystem_limits
       hole_birth
       large_blocks
       lz4_compress
       spacemap_histogram

       # zpool create -o compatibility=grub2 bootpool vdev

       See zpool-create(8) and zpool-upgrade(8)	for more  information  on  how
       these commands are affected by feature sets.

FEATURES
       The following features are supported on this system:

       allocation_classes

	   GUID			  org.zfsonlinux:allocation_classes
	   READ-ONLY COMPATIBLE	  yes
	   DEPENDENCIES		  none

	   This	feature	enables	support	for separate allocation	classes.

	   This	 feature becomes active	when a dedicated allocation class vdev
	   (dedup or special) is created with the zpool	create	or  zpool  add
	   subcommands.	With device removal, it	can be returned	to the enabled
	   state if all	the dedicated allocation class vdevs are removed.

       async_destroy

	   GUID			  com.delphix:async_destroy
	   READ-ONLY COMPATIBLE	  yes
	   DEPENDENCIES		  none

	   Destroying a	file system requires traversing	all of its data	in or-
	   der to return its used space	to the pool. Without async_destroy the
	   file	system is not fully removed  until  all	 space	has  been  re-
	   claimed.  If	 the  destroy  operation is interrupted	by a reboot or
	   power outage	the next attempt to open the pool will	need  to  com-
	   plete the destroy operation synchronously.

	   When	 async_destroy	is  enabled the	file system's data will	be re-
	   claimed by a	background process, allowing the destroy operation  to
	   complete  without traversing	the entire file	system.	The background
	   process is able to resume interrupted destroys after	the  pool  has
	   been	opened,	eliminating the	need to	finish interrupted destroys as
	   part	of the open operation. The amount of space remaining to	be re-
	   claimed  by the background process is available through the freeing
	   property.

	   This	feature	is only	active while freeing is	non-zero.

       bookmarks

	   GUID			  com.delphix:bookmarks
	   READ-ONLY COMPATIBLE	  yes
	   DEPENDENCIES		  extensible_dataset

	   This	feature	enables	use of the zfs bookmark	subcommand.

	   This	feature	is active while	any bookmarks exist in the pool.   All
	   bookmarks in	the pool can be	listed by running zfs list -t bookmark
	   -r poolname.

       bookmark_v2

	   GUID			  com.datto:bookmark_v2
	   READ-ONLY COMPATIBLE	  no
	   DEPENDENCIES		  bookmark, extensible_dataset

	   This	feature	enables	the creation and management  of	 larger	 book-
	   marks which are needed for other features in	ZFS.

	   This	 feature becomes active	when a v2 bookmark is created and will
	   be returned to the enabled state when  all  v2  bookmarks  are  de-
	   stroyed.

       bookmark_written

	   GUID			  com.delphix:bookmark_written
	   READ-ONLY COMPATIBLE	  no
	   DEPENDENCIES		  bookmark, extensible_dataset,	bookmark_v2

	   This	 feature  enables  additional  bookmark	accounting fields, en-
	   abling the written#<bookmark> property (space written since a book-
	   mark)  and  estimates  of  send  stream sizes for incrementals from
	   bookmarks.

	   This	feature	becomes	active when a bookmark is created and will  be
	   returned  to	the enabled state when all bookmarks with these	fields
	   are destroyed.

       device_rebuild

	   GUID			  org.openzfs:device_rebuild
	   READ-ONLY COMPATIBLE	  yes
	   DEPENDENCIES		  none

	   This	feature	enables	the ability for	the zpool attach and zpool re-
	   place  subcommands to perform sequential reconstruction (instead of
	   healing reconstruction) when	resilvering.

	   Sequential reconstruction resilvers a device	in LBA	order  without
	   immediately	verifying  the	checksums.   Once  complete a scrub is
	   started which then verifies the checksums.	This  approach	allows
	   full	redundancy to be restored to the pool in the minimum amount of
	   time.  This two phase approach will take longer than	a healing  re-
	   silver when the time	to verify the checksums	is included.  However,
	   unless there	is additional pool damage no checksum errors should be
	   reported  by	 the  scrub.   This feature is incompatible with raidz
	   configurations.

	   This	feature	becomes	active	while  a  sequential  resilver	is  in
	   progress, and returns to enabled when the resilver completes.

       device_removal

	   GUID			  com.delphix:device_removal
	   READ-ONLY COMPATIBLE	  no
	   DEPENDENCIES		  none

	   This	 feature  enables  the	zpool remove subcommand	to remove top-
	   level vdevs,	evacuating them	to reduce the total size of the	pool.

	   This	feature	becomes	active when the	 zpool	remove	subcommand  is
	   used	on a top-level vdev, and will never return to being enabled.

       draid

	   GUID			  org.openzfs:draid
	   READ-ONLY COMPATIBLE	  no
	   DEPENDENCIES		  none

	   This	 feature enables use of	the draid vdev type.  dRAID is a vari-
	   ant of raidz	which provides integrated distributed hot spares  that
	   allow  faster  resilvering  while  retaining	the benefits of	raidz.
	   Data, parity, and spare space are organized	in  redundancy	groups
	   and distributed evenly over all of the devices.

	   This	 feature  becomes  active  when	creating a pool	which uses the
	   draid vdev type, or when adding a new draid	vdev  to  an  existing
	   pool.

       edonr

	   GUID			  org.illumos:edonr
	   READ-ONLY COMPATIBLE	  no
	   DEPENDENCIES		  extensible_dataset

	   This	 feature  enables  the	use  of	 the Edon-R hash algorithm for
	   checksum, including for nopwrite (if	compression is	also  enabled,
	   an overwrite	of a block whose checksum matches the data being writ-
	   ten will be ignored).  In an	abundance of caution, Edon-R  requires
	   verification	when used with dedup: zfs set dedup=edonr,verify.  See
	   zfs(8).

	   Edon-R is a very high-performance hash algorithm that was  part  of
	   the NIST SHA-3 competition. It provides extremely high hash perfor-
	   mance (over 350% faster than	SHA-256), but was not selected because
	   of  its  unsuitability  as a	general	purpose	secure hash algorithm.
	   This	implementation utilizes	the new	salted checksumming  function-
	   ality  in  ZFS,  which means	that the checksum is pre-seeded	with a
	   secret 256-bit random key (stored on	the pool) before being fed the
	   data	 block	to  be	checksummed.  Thus  the	produced checksums are
	   unique to a given pool.

	   When	the edonr feature is set to  enabled,  the  administrator  can
	   turn	 on the	edonr checksum on any dataset using the	zfs set	check-
	   sum=edonr. See zfs(8). This feature becomes active once a  checksum
	   property  has  been	set to edonr, and will return to being enabled
	   once	all filesystems	that have ever had their checksum set to edonr
	   are destroyed.

	   FreeBSD does	not support the	edonr feature.

       embedded_data

	   GUID			  com.delphix:embedded_data
	   READ-ONLY COMPATIBLE	  no
	   DEPENDENCIES		  none

	   This	 feature  improves  the	 performance  and compression ratio of
	   highly-compressible blocks.	Blocks whose contents can compress  to
	   112 bytes or	smaller	can take advantage of this feature.

	   When	 this  feature is enabled, the contents	of highly-compressible
	   blocks are stored in	the block "pointer" itself (a misnomer in this
	   case,  as it	contains the compressed	data, rather than a pointer to
	   its location	on disk).  Thus	the space of the  block	 (one  sector,
	   typically  512  bytes  or  4KB)  is saved, and no additional	i/o is
	   needed to read and write the	data block.

	   This	feature	becomes	active as soon as it is	enabled	and will never
	   return to being enabled.

       empty_bpobj

	   GUID			  com.delphix:empty_bpobj
	   READ-ONLY COMPATIBLE	  yes
	   DEPENDENCIES		  none

	   This	 feature  increases  the  performance  of creating and using a
	   large number	of snapshots of	a single  filesystem  or  volume,  and
	   also	reduces	the disk space required.

	   When	 there	are  many  snapshots,  each  snapshot  uses many Block
	   Pointer Objects (bpobj's) to	 track	blocks	associated  with  that
	   snapshot.   However,	in common use cases, most of these bpobj's are
	   empty.  This	feature	allows us to create each bpobj on-demand, thus
	   eliminating the empty bpobjs.

	   This	feature	is active while	there are any filesystems, volumes, or
	   snapshots which were	created	after enabling this feature.

       enabled_txg

	   GUID			  com.delphix:enabled_txg
	   READ-ONLY COMPATIBLE	  yes
	   DEPENDENCIES		  none

	   Once	this feature is	enabled	ZFS records the	transaction group num-
	   ber in which	new features are enabled. This has no user-visible im-
	   pact, but other features may	depend on this feature.

	   This	feature	becomes	active as soon as it is	enabled	and will never
	   return to being enabled.

       encryption

	   GUID			  com.datto:encryption
	   READ-ONLY COMPATIBLE	  no
	   DEPENDENCIES		  bookmark_v2, extensible_dataset

	   This	 feature  enables  the creation	and management of natively en-
	   crypted datasets.

	   This	feature	becomes	active when an encrypted  dataset  is  created
	   and	will  be  returned to the enabled state	when all datasets that
	   use this feature are	destroyed.

       extensible_dataset

	   GUID			  com.delphix:extensible_dataset
	   READ-ONLY COMPATIBLE	  no
	   DEPENDENCIES		  none

	   This	feature	allows more flexible use of internal ZFS  data	struc-
	   tures, and exists for other features	to depend on.

	   This	 feature  will be active when the first	dependent feature uses
	   it, and will	be returned to the enabled  state  when	 all  datasets
	   that	use this feature are destroyed.

       filesystem_limits

	   GUID			  com.joyent:filesystem_limits
	   READ-ONLY COMPATIBLE	  yes
	   DEPENDENCIES		  extensible_dataset

	   This	 feature  enables filesystem and snapshot limits. These	limits
	   can be used to control how many filesystems and/or snapshots	can be
	   created at the point	in the tree on which the limits	are set.

	   This	feature	is active once either of the limit properties has been
	   set on a dataset. Once activated the	feature	is never deactivated.

       hole_birth

	   GUID			  com.delphix:hole_birth
	   READ-ONLY COMPATIBLE	  no
	   DEPENDENCIES		  enabled_txg

	   This	feature	has/had	bugs, the result of which is that, if you do a
	   zfs send -i (or -R, since it	uses -i) from an affected dataset, the
	   receiver will not see any checksum or other errors, but the result-
	   ing destination snapshot will not match the source.	Its use	by zfs
	   send	-i has been disabled by	 default.   See	 the  send_holes_with-
	   out_birth_time module parameter in zfs-module-parameters(5).

	   This	 feature  improves  performance	of incremental sends (zfs send
	   -i) and receives for	objects	with many holes. The most common  case
	   of hole-filled objects is zvols.

	   An  incremental  send stream	from snapshot A	to snapshot B contains
	   information about every block that changed between A	and B.	Blocks
	   which  did not change between those snapshots can be	identified and
	   omitted from	the stream using a piece of metadata called the	'block
	   birth  time',  but  birth  times are	not recorded for holes (blocks
	   filled only with zeroes). Since holes created  after	 A  cannot  be
	   distinguished  from holes created before A, information about every
	   hole	in the entire filesystem or  zvol  is  included	 in  the  send
	   stream.

	   For	workloads where	holes are rare this is not a problem. However,
	   when	incrementally replicating filesystems or zvols with many holes
	   (for	 example  a  zvol  formatted with another filesystem) a	lot of
	   time	will be	spent sending and  receiving  unnecessary  information
	   about holes that already exist on the receiving side.

	   Once	 the hole_birth	feature	has been enabled the block birth times
	   of all new holes will be recorded. Incremental sends	between	 snap-
	   shots created after this feature is enabled will use	this new meta-
	   data	to avoid sending information about holes that already exist on
	   the receiving side.

	   This	feature	becomes	active as soon as it is	enabled	and will never
	   return to being enabled.

       large_blocks

	   GUID			  org.open-zfs:large_blocks
	   READ-ONLY COMPATIBLE	  no
	   DEPENDENCIES		  extensible_dataset

	   The large_block feature allows the record size on a dataset	to  be
	   set larger than 128KB.

	   This	 feature  becomes active once a	dataset	contains a file	with a
	   block size larger than 128KB, and will return to being enabled once
	   all	filesystems  that  have	 ever had their	recordsize larger than
	   128KB are destroyed.

       large_dnode

	   GUID			  org.zfsonlinux:large_dnode
	   READ-ONLY COMPATIBLE	  no
	   DEPENDENCIES		  extensible_dataset

	   The large_dnode feature allows the size of dnodes in	a  dataset  to
	   be set larger than 512B.

	   This	 feature becomes active	once a dataset contains	an object with
	   a dnode larger than 512B, which occurs as a result of  setting  the
	   dnodesize  dataset  property	to a value other than legacy. The fea-
	   ture	will return to being enabled once all  filesystems  that  have
	   ever	contained a dnode larger than 512B are destroyed. Large	dnodes
	   allow more data to be stored	in the bonus buffer, thus  potentially
	   improving performance by avoiding the use of	spill blocks.

       livelist

	   GUID			  com.delphix:livelist
	   READ-ONLY COMPATIBLE	  yes
	   DEPENDENCIES		  none
	   This	 feature  allows  clones  to be	deleted	faster than the	tradi-
	   tional method when a	large number of	random/sparse writes have been
	   made	to the clone.  All blocks allocated and	freed after a clone is
	   created are tracked by the the clone's livelist which is referenced
	   during  the deletion	of the clone.  The feature is activated	when a
	   clone is created and	remains	active until all clones	have been  de-
	   stroyed.

       log_spacemap

	   GUID			  com.delphix:log_spacemap
	   READ-ONLY COMPATIBLE	  yes
	   DEPENDENCIES		  com.delphix:spacemap_v2

	   This	feature	improves performance for heavily-fragmented pools, es-
	   pecially when workloads are heavy in	random-writes. It does	so  by
	   logging all the metaslab changes on a single	spacemap every TXG in-
	   stead of scattering multiple	writes to all the metaslab spacemaps.

	   This	feature	becomes	active as soon as it is	enabled	and will never
	   return to being enabled.

       lz4_compress

	   GUID			  org.illumos:lz4_compress
	   READ-ONLY COMPATIBLE	  no
	   DEPENDENCIES		  none

	   lz4 is a high-performance real-time compression algorithm that fea-
	   tures significantly faster compression and decompression as well as
	   a  higher compression ratio than the	older lzjb compression.	 Typi-
	   cally, lz4 compression is approximately 50% faster on  compressible
	   data	 and  200% faster on incompressible data than lzjb. It is also
	   approximately 80% faster on decompression,  while  giving  approxi-
	   mately 10% better compression ratio.

	   When	 the lz4_compress feature is set to enabled, the administrator
	   can turn on lz4 compression on any dataset on the  pool  using  the
	   zfs(8) command. Please note that doing so will immediately activate
	   the lz4_compress feature on the underlying pool  using  the	zfs(8)
	   command.  Also,  all	newly written metadata will be compressed with
	   lz4 algorithm. Since	this feature is	not read-only compatible, this
	   operation will render the pool unimportable on systems without sup-
	   port	for the	lz4_compress feature.

	   Booting off of lz4-compressed root pools is supported.

	   This	feature	becomes	active as soon as it is	enabled	and will never
	   return to being enabled.

       multi_vdev_crash_dump

	   GUID			  com.joyent:multi_vdev_crash_dump
	   READ-ONLY COMPATIBLE	  no
	   DEPENDENCIES		  none

	   This	feature	allows a dump device to	be configured with a pool com-
	   prised of multiple vdevs.  Those vdevs may be arranged in any  mir-
	   rored or raidz configuration.

	   When	 the  multi_vdev_crash_dump feature is set to enabled, the ad-
	   ministrator can use the dumpadm(1M) command to configure a dump de-
	   vice	on a pool comprised of multiple	vdevs.

	   Under  FreeBSD and Linux this feature is registered for compatibil-
	   ity but not used.  New pools	created	under FreeBSD and  Linux  will
	   have	the feature enabled but	will never transition to active.  This
	   functionality is not	required in order to support crash dumps under
	   FreeBSD and Linux.  Existing	pools where this feature is active can
	   be imported.

       obsolete_counts

	   GUID			  com.delphix:obsolete_counts
	   READ-ONLY COMPATIBLE	  yes
	   DEPENDENCIES		  device_removal

	   This	feature	is an enhancement of device_removal, which  will  over
	   time	 reduce	 the memory used to track removed devices.  When indi-
	   rect	blocks are freed or remapped, we note that their part  of  the
	   indirect mapping is "obsolete", i.e.	no longer needed.

	   This	 feature  becomes  active  when	the zpool remove subcommand is
	   used	on a top-level vdev, and will never return to being enabled.

       project_quota

	   GUID			  org.zfsonlinux:project_quota
	   READ-ONLY COMPATIBLE	  yes

	   DEPENDENCIES		  extensible_dataset

	   This	feature	allows administrators to account the  spaces  and  ob-
	   jects usage information against the project identifier (ID).

	   The project ID is new object-based attribute. When upgrading	an ex-
	   isting filesystem, object without project ID	attribute will be  as-
	   signed a zero project ID. After this	feature	is enabled, newly cre-
	   ated	object will inherit its	parent directory's project ID  if  the
	   parent  inherit  flag  is  set  (via	 chattr	 +/-P  or  zfs project
	   [-s|-C]). Otherwise,	the new	object's project ID  will  be  set  as
	   zero. An object's project ID	can be changed at anytime by the owner
	   (or privileged user)	via chattr -p $prjid or	zfs project -p $prjid.

	   This	feature	will become active as soon as it is enabled  and  will
	   never  return  to  being disabled. Each filesystem will be upgraded
	   automatically when remounted	or when	new file is created under that
	   filesystem.	The  upgrade  can also be triggered on filesystems via
	   `zfs	set version=current <pool/fs>`.	 The upgrade process  runs  in
	   the background and may take a while to complete for the filesystems
	   containing a	large number of	files.

       redaction_bookmarks

	   GUID			  com.delphix:redaction_bookmarks
	   READ-ONLY COMPATIBLE	  no
	   DEPENDENCIES		  bookmarks, extensible_dataset

	   This	feature	enables	the use	of the redacted	 zfs  send.   Redacted
	   zfs	send  creates  redaction  bookmarks,  which  store the list of
	   blocks redacted by the send that created them.  For	more  informa-
	   tion	about redacted send, see zfs(8).

       redacted_datasets

	   GUID			  com.delphix:redacted_datasets
	   READ-ONLY COMPATIBLE	  no
	   DEPENDENCIES		  extensible_dataset

	   This	 feature  enables  the receiving of redacted zfs send streams.
	   Redacted zfs	send streams create redacted datasets  when  received.
	   These  datasets  are	missing	some of	their blocks, and so cannot be
	   safely mounted, and their contents cannot be	safely read.  For more
	   information about redacted receive, see zfs(8).

       resilver_defer

	   GUID			  com.datto:resilver_defer
	   READ-ONLY COMPATIBLE	  yes
	   DEPENDENCIES		  none

	   This	 feature  allows  zfs to postpone new resilvers	if an existing
	   one is already in progress. Without this feature, any new resilvers
	   will	 cause	the  currently running one to be immediately restarted
	   from	the beginning.

	   This	feature	becomes	active once a resilver has been	deferred,  and
	   returns to being enabled when the deferred resilver begins.

       sha512

	   GUID			  org.illumos:sha512
	   READ-ONLY COMPATIBLE	  no

	   DEPENDENCIES		  extensible_dataset

	   This	 feature enables the use of the	SHA-512/256 truncated hash al-
	   gorithm (FIPS 180-4)	for checksum  and  dedup.  The	native	64-bit
	   arithmetic of SHA-512 provides an approximate 50% performance boost
	   over	SHA-256	on 64-bit hardware and is thus a  good	minimum-change
	   replacement	candidate for systems where hash performance is	impor-
	   tant, but these systems cannot  for	whatever  reason  utilize  the
	   faster skein	and edonr algorithms.

	   When	 the  sha512  feature is set to	enabled, the administrator can
	   turn	on the sha512 checksum on any dataset  using  zfs  set	check-
	   sum=sha512. See zfs(8). This	feature	becomes	active once a checksum
	   property has	been set to sha512, and	will return to	being  enabled
	   once	 all  filesystems  that	 have  ever  had their checksum	set to
	   sha512 are destroyed.

       skein

	   GUID			  org.illumos:skein
	   READ-ONLY COMPATIBLE	  no
	   DEPENDENCIES		  extensible_dataset

	   This	feature	enables	the use	of the Skein hash algorithm for	check-
	   sum	and  dedup.  Skein is a	high-performance secure	hash algorithm
	   that	was a finalist in the NIST SHA-3 competition.  It  provides  a
	   very	 high  security	margin and high	performance on 64-bit hardware
	   (80%	faster than SHA-256). This implementation  also	 utilizes  the
	   new	salted checksumming functionality in ZFS, which	means that the
	   checksum is pre-seeded with a secret	256-bit	random key (stored  on
	   the	pool)  before being fed	the data block to be checksummed. Thus
	   the produced	checksums are unique to	a given	pool, preventing  hash
	   collision attacks on	systems	with dedup.

	   When	 the  skein  feature  is set to	enabled, the administrator can
	   turn	on the skein checksum on any  dataset  using  zfs  set	check-
	   sum=skein.  See zfs(8). This	feature	becomes	active once a checksum
	   property has	been set to skein, and will return  to	being  enabled
	   once	all filesystems	that have ever had their checksum set to skein
	   are destroyed.

       spacemap_histogram

	   GUID			  com.delphix:spacemap_histogram
	   READ-ONLY COMPATIBLE	  yes
	   DEPENDENCIES		  none

	   This	features allows	ZFS to maintain	 more  information  about  how
	   free	 space	is  organized  within the pool.	If this	feature	is en-
	   abled, ZFS will set this feature to active when a new space map ob-
	   ject	 is  created  or  an existing space map	is upgraded to the new
	   format. Once	the feature is active, it will remain  in  that	 state
	   until the pool is destroyed.

       spacemap_v2

	   GUID			  com.delphix:spacemap_v2
	   READ-ONLY COMPATIBLE	  yes
	   DEPENDENCIES		  none

	   This	 feature  enables  the use of the new space map	encoding which
	   consists of two words (instead of one) whenever it is advantageous.
	   The	new  encoding  allows space maps to represent large regions of
	   space more efficiently on-disk while	also increasing	their  maximum
	   addressable offset.

	   This	 feature  becomes active once it is enabled, and never returns
	   back	to being enabled.

       userobj_accounting

	   GUID			  org.zfsonlinux:userobj_accounting
	   READ-ONLY COMPATIBLE	  yes
	   DEPENDENCIES		  extensible_dataset

	   This	feature	allows administrators to account the object usage  in-
	   formation by	user and group.

	   This	feature	becomes	active as soon as it is	enabled	and will never
	   return to being enabled. Each filesystem will be upgraded automati-
	   cally  when	remounted,  or	when  new files	are created under that
	   filesystem.	The upgrade can	also be	started	manually  on  filesys-
	   tems	 by  running  `zfs set version=current <pool/fs>`. The upgrade
	   process runs	in the background and may take a while to complete for
	   filesystems containing a large number of files.

       zpool_checkpoint

	   GUID			  com.delphix:zpool_checkpoint
	   READ-ONLY COMPATIBLE	  yes
	   DEPENDENCIES		  none

	   This	 feature  enables  the	zpool  checkpoint  subcommand that can
	   checkpoint the state	of the pool at the  time  it  was  issued  and
	   later rewind	back to	it or discard it.

	   This	feature	becomes	active when the	zpool checkpoint subcommand is
	   used	to checkpoint the pool.	 The feature will only return back  to
	   being  enabled  when	the pool is rewound or the checkpoint has been
	   discarded.

       zstd_compress

	   GUID			  org.freebsd:zstd_compress
	   READ-ONLY COMPATIBLE	  no
	   DEPENDENCIES		  extensible_dataset

	   zstd	is a high-performance compression algorithm  that  features  a
	   combination	of high	compression ratios and high speed. Compared to
	   gzip, zstd offers slighty better compression	at much	higher speeds.
	   Compared  to	 lz4,  zstd offers much	better compression while being
	   only	modestly slower. Typically, zstd compression speed ranges from
	   250	to  500	MB/s per thread	and decompression speed	is over	1 GB/s
	   per thread.

	   When	the zstd feature is set	to enabled, the	administrator can turn
	   on  zstd  compression  of  any  dataset  by	running	 `zfs set com-
	   press=zstd <pool/fs>`.

	   This	feature	becomes	active once a compress property	has  been  set
	   to zstd, and	will return to being enabled once all filesystems that
	   have	ever had their compress	property set to	zstd are destroyed.

	   Booting off of zstd-compressed root pools is	not yet	supported.

SEE ALSO
       zpool(8)

OpenZFS				 Aug 24, 2020		     ZPOOL-FEATURES(5)

NAME | DESCRIPTION | FEATURES | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=zpool-features&sektion=5&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help