'\" t
.\"
.\" CDDL HEADER START
.\"
.\" The contents of this file are subject to the terms of the
.\" Common Development and Distribution License (the "License").
.\" You may not use this file except in compliance with the License.
.\"
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
.\" or http://www.opensolaris.org/os/licensing.
.\" See the License for the specific language governing permissions
.\" and limitations under the License.
.\"
.\" When distributing Covered Code, include this CDDL HEADER in each
.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
.\" If applicable, add the following below this CDDL HEADER, with the
.\" fields enclosed by brackets "[]" replaced with your own identifying
.\" information: Portions Copyright [yyyy] [name of copyright owner]
.\"
.\" CDDL HEADER END
.\"
.\"
.\" Copyright 2013 Darik Horn <dajhorn@vanadac.com>. All rights reserved.
.\"
.TH zhack 1 "2013 MAR 16" "ZFS on Linux" "User Commands"

.SH NAME
zhack \- libzpool debugging tool
.SH DESCRIPTION
This utility pokes configuration changes directly into a ZFS pool,
which is dangerous and can cause data corruption.
.SH SYNOPSIS
.LP
.BI "zhack [\-c " "cachefile" "] [\-d " "dir" "] <" "subcommand" "> [" "arguments" "]"
.SH OPTIONS
.HP
.BI "\-c" " cachefile"
.IP
Read the \fIpool\fR configuration from the \fIcachefile\fR, which is
/etc/zfs/zpool.cache by default.
.HP
.BI "\-d" " dir"
.IP
Search for \fIpool\fR members in the \fIdir\fR path. Can be specified
more than once.
.SH SUBCOMMANDS
.LP
.BI "feature stat " "pool"
.IP
List feature flags.
.LP
.BI "feature enable [\-d " "description" "] [\-r] " "pool guid"
.IP
Add a new feature to \fIpool\fR that is uniquely identified by
\fIguid\fR, which is specified in the same form as a zfs(8) user
property.
.IP
The \fIdescription\fR is a short human readable explanation of the new
feature.
.IP
The \fB\-r\fR switch indicates that \fIpool\fR can be safely opened
in read-only mode by a system that does not have the \fIguid\fR
feature.
.LP
.BI "feature ref [\-d|\-m] " "pool guid"
.IP
Increment the reference count of the \fIguid\fR feature in \fIpool\fR.
.IP
The \fB\-d\fR switch decrements the reference count of the \fIguid\fR
feature in \fIpool\fR.
.IP
The \fB\-m\fR switch indicates that the \fIguid\fR feature is now
required to read the pool MOS.
.SH EXAMPLES
.LP
.nf
# zhack feature stat tank

for_read_obj:
	org.illumos:lz4_compress = 0
for_write_obj:
	com.delphix:async_destroy = 0
	com.delphix:empty_bpobj = 0
descriptions_obj:
	com.delphix:async_destroy = Destroy filesystems asynchronously.
	com.delphix:empty_bpobj = Snapshots use less space.
	org.illumos:lz4_compress = LZ4 compression algorithm support.
.LP
# zhack feature enable -d 'Predict future disk failures.' \\
    tank com.example:clairvoyance
.LP
# zhack feature ref tank com.example:clairvoyance
.SH AUTHORS
This man page was written by Darik Horn <dajhorn@vanadac.com>.
.SH SEE ALSO
.BR zfs (8),
.BR zpool-features (5),
.BR ztest (1)
