NAME¶
zstream —
    manipulate ZFS send streams
SYNOPSIS¶
  
    zstream | 
    dump
      [-Cvd]
      [file] | 
  
  
    zstream | 
    decompress
      [-v]
      [object,offset[,type...]] | 
  
  
    zstream | 
    token
      resume_token | 
  
  
    zstream | 
    recompress
      [-l
      level]
      algorithm | 
  
DESCRIPTION¶
The
    zstream
    utility manipulates ZFS send streams output by the
    zfs
    send command.
  zstream dump
    [-Cvd]
    [file] 
  - Print information about the specified send stream, including headers
      and record counts. The send stream may either be in the
      specified file, or provided on
      standard input.
    
      -C 
      - Suppress the validation of checksums.
 
      -v 
      - Verbose. Print metadata for each record.
 
      -d 
      - Dump data contained in each record. Implies
        verbose.
 
    
    The zstreamdump alias
        is provided for compatibility and is equivalent to running
        zstream
        dump.
   
  zstream
    token
    resume_token 
  - Dumps zfs resume token information
 
  zstream
    decompress
    [-v]
    [object,offset[,type...]] 
  - Decompress selected records in a ZFS send stream provided on standard
      input, when the compression type recorded in ZFS metadata may be
      incorrect. Specify the object number and byte offset of each record
      that you wish to decompress. Optionally specify the
      compression type. Valid compression types include
      off,
      gzip,
      lz4,
      lzjb,
      zstd,
      and
      zle.
      The default is lz4. Every record
      for that object beginning at that offset will be decompressed, if
      possible. It may not be possible, because the record may be
      corrupted in some but not all of the stream's snapshots.
      Specifying a compression type of off
      will change the stream's metadata accordingly, without attempting
      decompression. This can be useful if the record is already
      uncompressed but the metadata insists otherwise. The
      repaired stream will be written to standard output.
    
      -v 
      - Verbose. Print summary of decompressed records.
 
    
   
  zstream
    redup
    [-v]
    file 
  - Deduplicated send streams can be generated by using the
      
zfs send
      -D command. The ability to
      send deduplicated send streams is deprecated. In the future, the
      ability to receive a deduplicated send stream with
      zfs receive
      will be removed. However, deduplicated send streams can still be
      received by utilizing zstream
      redup.
    The zstream
        redup command is provided a
        file containing a deduplicated send
        stream, and outputs an equivalent non-deduplicated send stream on
        standard output. Therefore, a deduplicated send stream can be
        received by running:
    #
      zstream
      redup
      DEDUP_STREAM_FILE |
      zfs receive
      …
    
      -v 
      - Verbose. Print summary of converted records.
 
    
   
  zstream
    recompress
    [-l
    level]
    algorithm 
  - Recompresses a send stream, provided on standard input, using the
      provided algorithm and optional level, and writes the modified
      stream to standard output. All WRITE records in the send stream
      will be recompressed, unless they fail to result in size reduction
      compared to being left uncompressed. The provided algorithm can be
      any valid value to the 
compress
      property. Note that encrypted send streams cannot be
      recompressed.
    
      -l
        level 
      - Specifies compression level. Only needed for algorithms
          where the level is not implied as part of the name of the
          algorithm (e.g. gzip-3 does not require it, while zstd does, if a
          non-default level is desired).
 
    
   
EXAMPLES¶
Heal a dataset that was corrupted due to OpenZFS bug
    #12762. First, determine which records are corrupt. That
    cannot be done automatically; it requires information beyond ZFS's
    metadata. If object
    128
    is corrupted at offset
    0 and
    is compressed using lz4, then run
    this command:
# zfs send -c …  | zstream  decompress 128,0,lz4  | zfs  recv …