mirror of
				https://git.proxmox.com/git/mirror_zfs
				synced 2025-10-31 05:39:09 +00:00 
			
		
		
		
	 163f3d3a1f
			
		
	
	
		163f3d3a1f
		
			
		
	
	
	
	
		
			
			The approach is straightforward: for dataset ops, if a key was offered, find the encryption root and the various encryption parameters, derive a wrapping key if necessary, and then unlock the encryption root. After that all the regular dataset ops will return unencrypted data, and that's kinda the whole thing. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Jorgen Lundman <lundman@lundman.net> Signed-off-by: Rob Norris <robn@despairlabs.com> Closes #11551 Closes #12707 Closes #14503
		
			
				
	
	
		
			541 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			541 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .\"
 | |
| .\" This file and its contents are supplied under the terms of the
 | |
| .\" Common Development and Distribution License ("CDDL"), version 1.0.
 | |
| .\" You may only use this file in accordance with the terms of version
 | |
| .\" 1.0 of the CDDL.
 | |
| .\"
 | |
| .\" A full copy of the text of the CDDL should have accompanied this
 | |
| .\" source.  A copy of the CDDL is also available via the Internet at
 | |
| .\" http://www.illumos.org/license/CDDL.
 | |
| .\"
 | |
| .\" Copyright 2012, Richard Lowe.
 | |
| .\" Copyright (c) 2012, 2019 by Delphix. All rights reserved.
 | |
| .\" Copyright 2017 Nexenta Systems, Inc.
 | |
| .\" Copyright (c) 2017 Lawrence Livermore National Security, LLC.
 | |
| .\" Copyright (c) 2017 Intel Corporation.
 | |
| .\"
 | |
| .Dd October 7, 2020
 | |
| .Dt ZDB 8
 | |
| .Os
 | |
| .
 | |
| .Sh NAME
 | |
| .Nm zdb
 | |
| .Nd display ZFS storage pool debugging and consistency information
 | |
| .Sh SYNOPSIS
 | |
| .Nm
 | |
| .Op Fl AbcdDFGhikLMNPsvXYy
 | |
| .Op Fl e Oo Fl V Oc Oo Fl p Ar path Oc Ns …
 | |
| .Op Fl I Ar inflight-I/O-ops
 | |
| .Oo Fl o Ar var Ns = Ns Ar value Oc Ns …
 | |
| .Op Fl t Ar txg
 | |
| .Op Fl U Ar cache
 | |
| .Op Fl x Ar dumpdir
 | |
| .Op Fl K Ar key
 | |
| .Op Ar poolname Ns Op / Ns Ar dataset Ns | Ns Ar objset-ID
 | |
| .Op Ar object Ns | Ns Ar range Ns …
 | |
| .Nm
 | |
| .Op Fl AdiPv
 | |
| .Op Fl e Oo Fl V Oc Oo Fl p Ar path Oc Ns …
 | |
| .Op Fl U Ar cache
 | |
| .Op Fl K Ar key
 | |
| .Ar poolname Ns Op Ar / Ns Ar dataset Ns | Ns Ar objset-ID
 | |
| .Op Ar object Ns | Ns Ar range Ns …
 | |
| .Nm
 | |
| .Fl C
 | |
| .Op Fl A
 | |
| .Op Fl U Ar cache
 | |
| .Nm
 | |
| .Fl E
 | |
| .Op Fl A
 | |
| .Ar word0 : Ns Ar word1 Ns :…: Ns Ar word15
 | |
| .Nm
 | |
| .Fl l
 | |
| .Op Fl Aqu
 | |
| .Ar device
 | |
| .Nm
 | |
| .Fl m
 | |
| .Op Fl AFLPXY
 | |
| .Op Fl e Oo Fl V Oc Oo Fl p Ar path Oc Ns …
 | |
| .Op Fl t Ar txg
 | |
| .Op Fl U Ar cache
 | |
| .Ar poolname Op Ar vdev Oo Ar metaslab Oc Ns …
 | |
| .Nm
 | |
| .Fl O
 | |
| .Op Fl K Ar key
 | |
| .Ar dataset path
 | |
| .Nm
 | |
| .Fl r
 | |
| .Op Fl K Ar key
 | |
| .Ar dataset path destination
 | |
| .Nm
 | |
| .Fl R
 | |
| .Op Fl A
 | |
| .Op Fl e Oo Fl V Oc Oo Fl p Ar path Oc Ns …
 | |
| .Op Fl U Ar cache
 | |
| .Ar poolname vdev : Ns Ar offset : Ns Oo Ar lsize Ns / Oc Ns Ar psize Ns Op : Ns Ar flags
 | |
| .Nm
 | |
| .Fl S
 | |
| .Op Fl AP
 | |
| .Op Fl e Oo Fl V Oc Oo Fl p Ar path Oc Ns …
 | |
| .Op Fl U Ar cache
 | |
| .Ar poolname
 | |
| .
 | |
| .Sh DESCRIPTION
 | |
| The
 | |
| .Nm
 | |
| utility displays information about a ZFS pool useful for debugging and performs
 | |
| some amount of consistency checking.
 | |
| It is a not a general purpose tool and options
 | |
| .Pq and facilities
 | |
| may change.
 | |
| It is not a
 | |
| .Xr fsck 8
 | |
| utility.
 | |
| .Pp
 | |
| The output of this command in general reflects the on-disk structure of a ZFS
 | |
| pool, and is inherently unstable.
 | |
| The precise output of most invocations is not documented, a knowledge of ZFS
 | |
| internals is assumed.
 | |
| .Pp
 | |
| If the
 | |
| .Ar dataset
 | |
| argument does not contain any
 | |
| .Qq Sy /
 | |
| or
 | |
| .Qq Sy @
 | |
| characters, it is interpreted as a pool name.
 | |
| The root dataset can be specified as
 | |
| .Qq Ar pool Ns / .
 | |
| .Pp
 | |
| .Nm
 | |
| is an
 | |
| .Qq offline
 | |
| tool; it accesses the block devices underneath the pools directly from
 | |
| userspace and does not care if the pool is imported or datasets are mounted
 | |
| (or even if the system understands ZFS at all).
 | |
| When operating on an imported and active pool it is possible, though unlikely,
 | |
| that zdb may interpret inconsistent pool data and behave erratically.
 | |
| .
 | |
| .Sh OPTIONS
 | |
| Display options:
 | |
| .Bl -tag -width Ds
 | |
| .It Fl b , -block-stats
 | |
| Display statistics regarding the number, size
 | |
| .Pq logical, physical and allocated
 | |
| and deduplication of blocks.
 | |
| .It Fl c , -checksum
 | |
| Verify the checksum of all metadata blocks while printing block statistics
 | |
| .Po see
 | |
| .Fl b
 | |
| .Pc .
 | |
| .Pp
 | |
| If specified multiple times, verify the checksums of all blocks.
 | |
| .It Fl C , -config
 | |
| Display information about the configuration.
 | |
| If specified with no other options, instead display information about the cache
 | |
| file
 | |
| .Pq Pa /etc/zfs/zpool.cache .
 | |
| To specify the cache file to display, see
 | |
| .Fl U .
 | |
| .Pp
 | |
| If specified multiple times, and a pool name is also specified display both the
 | |
| cached configuration and the on-disk configuration.
 | |
| If specified multiple times with
 | |
| .Fl e
 | |
| also display the configuration that would be used were the pool to be imported.
 | |
| .It Fl d , -datasets
 | |
| Display information about datasets.
 | |
| Specified once, displays basic dataset information: ID, create transaction,
 | |
| size, and object count.
 | |
| See
 | |
| .Fl N
 | |
| for determining if
 | |
| .Ar poolname Ns Op / Ns Ar dataset Ns | Ns Ar objset-ID
 | |
| is to use the specified
 | |
| .Ar dataset Ns | Ns Ar objset-ID
 | |
| as a string (dataset name) or a number (objset ID) when
 | |
| datasets have numeric names.
 | |
| .Pp
 | |
| If specified multiple times provides greater and greater verbosity.
 | |
| .Pp
 | |
| If object IDs or object ID ranges are specified, display information about
 | |
| those specific objects or ranges only.
 | |
| .Pp
 | |
| An object ID range is specified in terms of a colon-separated tuple of
 | |
| the form
 | |
| .Ao start Ac : Ns Ao end Ac Ns Op : Ns Ao flags Ac .
 | |
| The fields
 | |
| .Ar start
 | |
| and
 | |
| .Ar end
 | |
| are integer object identifiers that denote the upper and lower bounds
 | |
| of the range.
 | |
| An
 | |
| .Ar end
 | |
| value of -1 specifies a range with no upper bound.
 | |
| The
 | |
| .Ar flags
 | |
| field optionally specifies a set of flags, described below, that control
 | |
| which object types are dumped.
 | |
| By default, all object types are dumped.
 | |
| A minus sign
 | |
| .Pq -
 | |
| negates the effect of the flag that follows it and has no effect unless
 | |
| preceded by the
 | |
| .Ar A
 | |
| flag.
 | |
| For example, the range 0:-1:A-d will dump all object types except for
 | |
| directories.
 | |
| .Pp
 | |
| .Bl -tag -compact -width Ds
 | |
| .It Sy A
 | |
| Dump all objects (this is the default)
 | |
| .It Sy d
 | |
| Dump ZFS directory objects
 | |
| .It Sy f
 | |
| Dump ZFS plain file objects
 | |
| .It Sy m
 | |
| Dump SPA space map objects
 | |
| .It Sy z
 | |
| Dump ZAP objects
 | |
| .It Sy -
 | |
| Negate the effect of next flag
 | |
| .El
 | |
| .It Fl D , -dedup-stats
 | |
| Display deduplication statistics, including the deduplication ratio
 | |
| .Pq Sy dedup ,
 | |
| compression ratio
 | |
| .Pq Sy compress ,
 | |
| inflation due to the zfs copies property
 | |
| .Pq Sy copies ,
 | |
| and an overall effective ratio
 | |
| .Pq Sy dedup No \(mu Sy compress No / Sy copies .
 | |
| .It Fl DD
 | |
| Display a histogram of deduplication statistics, showing the allocated
 | |
| .Pq physically present on disk
 | |
| and referenced
 | |
| .Pq logically referenced in the pool
 | |
| block counts and sizes by reference count.
 | |
| .It Fl DDD
 | |
| Display the statistics independently for each deduplication table.
 | |
| .It Fl DDDD
 | |
| Dump the contents of the deduplication tables describing duplicate blocks.
 | |
| .It Fl DDDDD
 | |
| Also dump the contents of the deduplication tables describing unique blocks.
 | |
| .It Fl E , -embedded-block-pointer Ns = Ns Ar word0 : Ns Ar word1 Ns :…: Ns Ar word15
 | |
| Decode and display block from an embedded block pointer specified by the
 | |
| .Ar word
 | |
| arguments.
 | |
| .It Fl h , -history
 | |
| Display pool history similar to
 | |
| .Nm zpool Cm history ,
 | |
| but include internal changes, transaction, and dataset information.
 | |
| .It Fl i , -intent-logs
 | |
| Display information about intent log
 | |
| .Pq ZIL
 | |
| entries relating to each dataset.
 | |
| If specified multiple times, display counts of each intent log transaction type.
 | |
| .It Fl k , -checkpointed-state
 | |
| Examine the checkpointed state of the pool.
 | |
| Note, the on disk format of the pool is not reverted to the checkpointed state.
 | |
| .It Fl l , -label Ns = Ns Ar device
 | |
| Read the vdev labels and L2ARC header from the specified device.
 | |
| .Nm Fl l
 | |
| will return 0 if valid label was found, 1 if error occurred, and 2 if no valid
 | |
| labels were found.
 | |
| The presence of L2ARC header is indicated by a specific
 | |
| sequence (L2ARC_DEV_HDR_MAGIC).
 | |
| If there is an accounting error in the size or the number of L2ARC log blocks
 | |
| .Nm Fl l
 | |
| will return 1.
 | |
| Each unique configuration is displayed only once.
 | |
| .It Fl ll Ar device
 | |
| In addition display label space usage stats.
 | |
| If a valid L2ARC header was found
 | |
| also display the properties of log blocks used for restoring L2ARC contents
 | |
| (persistent L2ARC).
 | |
| .It Fl lll Ar device
 | |
| Display every configuration, unique or not.
 | |
| If a valid L2ARC header was found
 | |
| also display the properties of log entries in log blocks used for restoring
 | |
| L2ARC contents (persistent L2ARC).
 | |
| .Pp
 | |
| If the
 | |
| .Fl q
 | |
| option is also specified, don't print the labels or the L2ARC header.
 | |
| .Pp
 | |
| If the
 | |
| .Fl u
 | |
| option is also specified, also display the uberblocks on this device.
 | |
| Specify multiple times to increase verbosity.
 | |
| .It Fl L , -disable-leak-tracking
 | |
| Disable leak detection and the loading of space maps.
 | |
| By default,
 | |
| .Nm
 | |
| verifies that all non-free blocks are referenced, which can be very expensive.
 | |
| .It Fl m , -metaslabs
 | |
| Display the offset, spacemap, free space of each metaslab, all the log
 | |
| spacemaps and their obsolete entry statistics.
 | |
| .It Fl mm
 | |
| Also display information about the on-disk free space histogram associated with
 | |
| each metaslab.
 | |
| .It Fl mmm
 | |
| Display the maximum contiguous free space, the in-core free space histogram, and
 | |
| the percentage of free space in each space map.
 | |
| .It Fl mmmm
 | |
| Display every spacemap record.
 | |
| .It Fl M , -metaslab-groups
 | |
| Display all "normal" vdev metaslab group information - per-vdev metaslab count,
 | |
| fragmentation,
 | |
| and free space histogram, as well as overall pool fragmentation and histogram.
 | |
| .It Fl MM
 | |
| "Special" vdevs are added to -M's normal output.
 | |
| .It Fl O , -object-lookups Ns = Ns Ar dataset path
 | |
| Also display information about the maximum contiguous free space and the
 | |
| percentage of free space in each space map.
 | |
| .It Fl MMM
 | |
| Display every spacemap record.
 | |
| .It Fl N
 | |
| Same as
 | |
| .Fl d
 | |
| but force zdb to interpret the
 | |
| .Op Ar dataset Ns | Ns Ar objset-ID
 | |
| in
 | |
| .Op Ar poolname Ns Op / Ns Ar dataset Ns | Ns Ar objset-ID
 | |
| as a numeric objset ID.
 | |
| .It Fl O Ar dataset path
 | |
| Look up the specified
 | |
| .Ar path
 | |
| inside of the
 | |
| .Ar dataset
 | |
| and display its metadata and indirect blocks.
 | |
| Specified
 | |
| .Ar path
 | |
| must be relative to the root of
 | |
| .Ar dataset .
 | |
| This option can be combined with
 | |
| .Fl v
 | |
| for increasing verbosity.
 | |
| .It Fl r , -copy-object Ns = Ns Ar dataset path destination
 | |
| Copy the specified
 | |
| .Ar path
 | |
| inside of the
 | |
| .Ar dataset
 | |
| to the specified destination.
 | |
| Specified
 | |
| .Ar path
 | |
| must be relative to the root of
 | |
| .Ar dataset .
 | |
| This option can be combined with
 | |
| .Fl v
 | |
| for increasing verbosity.
 | |
| .It Xo
 | |
| .Fl R , -read-block Ns = Ns Ar poolname vdev : Ns Ar offset : Ns Oo Ar lsize Ns / Oc Ns Ar psize Ns Op : Ns Ar flags
 | |
| .Xc
 | |
| Read and display a block from the specified device.
 | |
| By default the block is displayed as a hex dump, but see the description of the
 | |
| .Sy r
 | |
| flag, below.
 | |
| .Pp
 | |
| The block is specified in terms of a colon-separated tuple
 | |
| .Ar vdev
 | |
| .Pq an integer vdev identifier
 | |
| .Ar offset
 | |
| .Pq the offset within the vdev
 | |
| .Ar size
 | |
| .Pq the physical size, or logical size / physical size
 | |
| of the block to read and, optionally,
 | |
| .Ar flags
 | |
| .Pq a set of flags, described below .
 | |
| .Pp
 | |
| .Bl -tag -compact -width "b offset"
 | |
| .It Sy b Ar offset
 | |
| Print block pointer at hex offset
 | |
| .It Sy c
 | |
| Calculate and display checksums
 | |
| .It Sy d
 | |
| Decompress the block.
 | |
| Set environment variable
 | |
| .Nm ZDB_NO_ZLE
 | |
| to skip zle when guessing.
 | |
| .It Sy e
 | |
| Byte swap the block
 | |
| .It Sy g
 | |
| Dump gang block header
 | |
| .It Sy i
 | |
| Dump indirect block
 | |
| .It Sy r
 | |
| Dump raw uninterpreted block data
 | |
| .It Sy v
 | |
| Verbose output for guessing compression algorithm
 | |
| .El
 | |
| .It Fl s , -io-stats
 | |
| Report statistics on
 | |
| .Nm zdb
 | |
| I/O.
 | |
| Display operation counts, bandwidth, and error counts of I/O to the pool from
 | |
| .Nm .
 | |
| .It Fl S , -simulate-dedup
 | |
| Simulate the effects of deduplication, constructing a DDT and then display
 | |
| that DDT as with
 | |
| .Fl DD .
 | |
| .It Fl u , -uberblock
 | |
| Display the current uberblock.
 | |
| .El
 | |
| .Pp
 | |
| Other options:
 | |
| .Bl -tag -width Ds
 | |
| .It Fl A , -ignore-assertions
 | |
| Do not abort should any assertion fail.
 | |
| .It Fl AA
 | |
| Enable panic recovery, certain errors which would otherwise be fatal are
 | |
| demoted to warnings.
 | |
| .It Fl AAA
 | |
| Do not abort if asserts fail and also enable panic recovery.
 | |
| .It Fl e , -exported Ns = Ns Oo Fl p Ar path Oc Ns …
 | |
| Operate on an exported pool, not present in
 | |
| .Pa /etc/zfs/zpool.cache .
 | |
| The
 | |
| .Fl p
 | |
| flag specifies the path under which devices are to be searched.
 | |
| .It Fl x , -dump-blocks Ns = Ns Ar dumpdir
 | |
| All blocks accessed will be copied to files in the specified directory.
 | |
| The blocks will be placed in sparse files whose name is the same as
 | |
| that of the file or device read.
 | |
| .Nm
 | |
| can be then run on the generated files.
 | |
| Note that the
 | |
| .Fl bbc
 | |
| flags are sufficient to access
 | |
| .Pq and thus copy
 | |
| all metadata on the pool.
 | |
| .It Fl F , -automatic-rewind
 | |
| Attempt to make an unreadable pool readable by trying progressively older
 | |
| transactions.
 | |
| .It Fl G , -dump-debug-msg
 | |
| Dump the contents of the zfs_dbgmsg buffer before exiting
 | |
| .Nm .
 | |
| zfs_dbgmsg is a buffer used by ZFS to dump advanced debug information.
 | |
| .It Fl I , -inflight Ns = Ns Ar inflight-I/O-ops
 | |
| Limit the number of outstanding checksum I/O operations to the specified value.
 | |
| The default value is 200.
 | |
| This option affects the performance of the
 | |
| .Fl c
 | |
| option.
 | |
| .It Fl K , -key Ns = Ns Ar key
 | |
| Decryption key needed to access an encrypted dataset.
 | |
| This will cause
 | |
| .Nm
 | |
| to attempt to unlock the dataset using the encryption root, key format and other
 | |
| encryption parameters on the given dataset.
 | |
| .Nm
 | |
| can still inspect pool and dataset structures on encrypted datasets without
 | |
| unlocking them, but will not be able to access file names and attributes and
 | |
| object contents. \fBWARNING:\fP The raw decryption key and any decrypted data
 | |
| will be in user memory while
 | |
| .Nm
 | |
| is running.
 | |
| Other user programs may be able to extract it by inspecting
 | |
| .Nm
 | |
| as it runs.
 | |
| Exercise extreme caution when using this option in shared or uncontrolled
 | |
| environments.
 | |
| .It Fl o , -option Ns = Ns Ar var Ns = Ns Ar value Ns …
 | |
| Set the given global libzpool variable to the provided value.
 | |
| The value must be an unsigned 32-bit integer.
 | |
| Currently only little-endian systems are supported to avoid accidentally setting
 | |
| the high 32 bits of 64-bit variables.
 | |
| .It Fl P , -parseable
 | |
| Print numbers in an unscaled form more amenable to parsing, e.g.\&
 | |
| .Sy 1000000
 | |
| rather than
 | |
| .Sy 1M .
 | |
| .It Fl t , -txg Ns = Ns Ar transaction
 | |
| Specify the highest transaction to use when searching for uberblocks.
 | |
| See also the
 | |
| .Fl u
 | |
| and
 | |
| .Fl l
 | |
| options for a means to see the available uberblocks and their associated
 | |
| transaction numbers.
 | |
| .It Fl U , -cachefile Ns = Ns Ar cachefile
 | |
| Use a cache file other than
 | |
| .Pa /etc/zfs/zpool.cache .
 | |
| .It Fl v , -verbose
 | |
| Enable verbosity.
 | |
| Specify multiple times for increased verbosity.
 | |
| .It Fl V , -verbatim
 | |
| Attempt verbatim import.
 | |
| This mimics the behavior of the kernel when loading a pool from a cachefile.
 | |
| Only usable with
 | |
| .Fl e .
 | |
| .It Fl X , -extreme-rewind
 | |
| Attempt
 | |
| .Qq extreme
 | |
| transaction rewind, that is attempt the same recovery as
 | |
| .Fl F
 | |
| but read transactions otherwise deemed too old.
 | |
| .It Fl Y , -all-reconstruction
 | |
| Attempt all possible combinations when reconstructing indirect split blocks.
 | |
| This flag disables the individual I/O deadman timer in order to allow as
 | |
| much time as required for the attempted reconstruction.
 | |
| .It Fl y , -livelist
 | |
| Perform validation for livelists that are being deleted.
 | |
| Scans through the livelist and metaslabs, checking for duplicate entries
 | |
| and compares the two, checking for potential double frees.
 | |
| If it encounters issues, warnings will be printed, but the command will not
 | |
| necessarily fail.
 | |
| .El
 | |
| .Pp
 | |
| Specifying a display option more than once enables verbosity for only that
 | |
| option, with more occurrences enabling more verbosity.
 | |
| .Pp
 | |
| If no options are specified, all information about the named pool will be
 | |
| displayed at default verbosity.
 | |
| .
 | |
| .Sh EXAMPLES
 | |
| .Ss Example 1 : No Display the configuration of imported pool Ar rpool
 | |
| .Bd -literal
 | |
| .No # Nm zdb Fl C Ar rpool
 | |
| MOS Configuration:
 | |
|         version: 28
 | |
|         name: 'rpool'
 | |
|  …
 | |
| .Ed
 | |
| .
 | |
| .Ss Example 2 : No Display basic dataset information about Ar rpool
 | |
| .Bd -literal
 | |
| .No # Nm zdb Fl d Ar rpool
 | |
| Dataset mos [META], ID 0, cr_txg 4, 26.9M, 1051 objects
 | |
| Dataset rpool/swap [ZVOL], ID 59, cr_txg 356, 486M, 2 objects
 | |
|  …
 | |
| .Ed
 | |
| .
 | |
| .Ss Example 3 : No Display basic information about object 0 in Ar rpool/export/home
 | |
| .Bd -literal
 | |
| .No # Nm zdb Fl d Ar rpool/export/home 0
 | |
| Dataset rpool/export/home [ZPL], ID 137, cr_txg 1546, 32K, 8 objects
 | |
| 
 | |
|     Object  lvl   iblk   dblk  dsize  lsize   %full  type
 | |
|          0    7    16K    16K  15.0K    16K   25.00  DMU dnode
 | |
| .Ed
 | |
| .
 | |
| .Ss Example 4 : No Display the predicted effect of enabling deduplication on Ar rpool
 | |
| .Bd -literal
 | |
| .No # Nm zdb Fl S Ar rpool
 | |
| Simulated DDT histogram:
 | |
| 
 | |
| bucket              allocated                       referenced
 | |
| ______   ______________________________   ______________________________
 | |
| refcnt   blocks   LSIZE   PSIZE   DSIZE   blocks   LSIZE   PSIZE   DSIZE
 | |
| ------   ------   -----   -----   -----   ------   -----   -----   -----
 | |
|      1     694K   27.1G   15.0G   15.0G     694K   27.1G   15.0G   15.0G
 | |
|      2    35.0K   1.33G    699M    699M    74.7K   2.79G   1.45G   1.45G
 | |
|  …
 | |
| dedup = 1.11, compress = 1.80, copies = 1.00, dedup * compress / copies = 2.00
 | |
| .Ed
 | |
| .
 | |
| .Sh SEE ALSO
 | |
| .Xr zfs 8 ,
 | |
| .Xr zpool 8
 |