xref: /freebsd/sys/contrib/openzfs/man/man1/zhack.1 (revision 1603881667360c015f6685131f2f25474fa67a72)
1eda14cbcSMatt Macy.\"
2eda14cbcSMatt Macy.\" CDDL HEADER START
3eda14cbcSMatt Macy.\"
4eda14cbcSMatt Macy.\" The contents of this file are subject to the terms of the
5eda14cbcSMatt Macy.\" Common Development and Distribution License (the "License").
6eda14cbcSMatt Macy.\" You may not use this file except in compliance with the License.
7eda14cbcSMatt Macy.\"
8eda14cbcSMatt Macy.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9eda14cbcSMatt Macy.\" or http://www.opensolaris.org/os/licensing.
10eda14cbcSMatt Macy.\" See the License for the specific language governing permissions
11eda14cbcSMatt Macy.\" and limitations under the License.
12eda14cbcSMatt Macy.\"
13eda14cbcSMatt Macy.\" When distributing Covered Code, include this CDDL HEADER in each
14eda14cbcSMatt Macy.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15eda14cbcSMatt Macy.\" If applicable, add the following below this CDDL HEADER, with the
16eda14cbcSMatt Macy.\" fields enclosed by brackets "[]" replaced with your own identifying
17eda14cbcSMatt Macy.\" information: Portions Copyright [yyyy] [name of copyright owner]
18eda14cbcSMatt Macy.\"
19eda14cbcSMatt Macy.\" CDDL HEADER END
20eda14cbcSMatt Macy.\"
21eda14cbcSMatt Macy.\" Copyright 2013 Darik Horn <dajhorn@vanadac.com>. All rights reserved.
22eda14cbcSMatt Macy.\"
23*16038816SMartin Matuska.\" lint-ok: WARNING: sections out of conventional order: Sh SYNOPSIS
24*16038816SMartin Matuska.\"
25*16038816SMartin Matuska.Dd May 26, 2021
26*16038816SMartin Matuska.Dt ZHACK 1
27*16038816SMartin Matuska.Os
28*16038816SMartin Matuska.
29*16038816SMartin Matuska.Sh NAME
30*16038816SMartin Matuska.Nm zhack
31*16038816SMartin Matuska.Nd libzpool debugging tool
32*16038816SMartin Matuska.Sh DESCRIPTION
33eda14cbcSMatt MacyThis utility pokes configuration changes directly into a ZFS pool,
34eda14cbcSMatt Macywhich is dangerous and can cause data corruption.
35*16038816SMartin Matuska.Sh SYNOPSIS
36*16038816SMartin Matuska.Bl -tag -width Ds
37*16038816SMartin Matuska.It Xo
38*16038816SMartin Matuska.Nm zhack
39*16038816SMartin Matuska.Cm feature stat
40*16038816SMartin Matuska.Ar pool
41*16038816SMartin Matuska.Xc
42eda14cbcSMatt MacyList feature flags.
43*16038816SMartin Matuska.
44*16038816SMartin Matuska.It Xo
45*16038816SMartin Matuska.Nm zhack
46*16038816SMartin Matuska.Cm feature enable
47*16038816SMartin Matuska.Op Fl d Ar description
48*16038816SMartin Matuska.Op Fl r
49*16038816SMartin Matuska.Ar pool
50*16038816SMartin Matuska.Ar guid
51*16038816SMartin Matuska.Xc
52*16038816SMartin MatuskaAdd a new feature to
53*16038816SMartin Matuska.Ar pool
54*16038816SMartin Matuskathat is uniquely identified by
55*16038816SMartin Matuska.Ar guid ,
56*16038816SMartin Matuskawhich is specified in the same form as a
57*16038816SMartin Matuska.Xr zfs 8
58*16038816SMartin Matuskauser property.
59*16038816SMartin Matuska.Pp
60*16038816SMartin MatuskaThe
61*16038816SMartin Matuska.Ar description
62*16038816SMartin Matuskais a short human readable explanation of the new feature.
63*16038816SMartin Matuska.Pp
64*16038816SMartin MatuskaThe
65*16038816SMartin Matuska.Fl r
66*16038816SMartin Matuskaflag indicates that
67*16038816SMartin Matuska.Ar pool
68*16038816SMartin Matuskacan be safely opened in read-only mode by a system that does not understand the
69*16038816SMartin Matuska.Ar guid
70eda14cbcSMatt Macyfeature.
71*16038816SMartin Matuska.
72*16038816SMartin Matuska.It Xo
73*16038816SMartin Matuska.Nm zhack
74*16038816SMartin Matuska.Cm feature ref
75*16038816SMartin Matuska.Op Fl d Ns | Ns Fl m
76*16038816SMartin Matuska.Ar pool
77*16038816SMartin Matuska.Ar guid
78*16038816SMartin Matuska.Xc
79*16038816SMartin MatuskaIncrement the reference count of the
80*16038816SMartin Matuska.Ar guid
81*16038816SMartin Matuskafeature in
82*16038816SMartin Matuska.Ar pool .
83*16038816SMartin Matuska.Pp
84*16038816SMartin MatuskaThe
85*16038816SMartin Matuska.Fl d
86*16038816SMartin Matuskaflag decrements the reference count of the
87*16038816SMartin Matuska.Ar guid
88*16038816SMartin Matuskafeature in
89*16038816SMartin Matuska.Ar pool
90*16038816SMartin Matuskainstead.
91*16038816SMartin Matuska.Pp
92*16038816SMartin MatuskaThe
93*16038816SMartin Matuska.Fl m
94*16038816SMartin Matuskaflag indicates that the
95*16038816SMartin Matuska.Ar guid
96*16038816SMartin Matuskafeature is now required to read the pool MOS.
97*16038816SMartin Matuska.El
98*16038816SMartin Matuska.
99*16038816SMartin Matuska.Sh GLOBAL OPTIONS
100*16038816SMartin MatuskaThe following can be passed to all
101*16038816SMartin Matuska.Nm
102*16038816SMartin Matuskainvocations before any subcommand:
103*16038816SMartin Matuska.Bl -tag -width "-d dir"
104*16038816SMartin Matuska.It Fl c Ar cachefile
105*16038816SMartin MatuskaRead
106*16038816SMartin Matuska.Ar pool
107*16038816SMartin Matuskaconfiguration from the
108*16038816SMartin Matuska.Ar cachefile ,
109*16038816SMartin Matuskawhich is
110*16038816SMartin Matuska.Pa /etc/zfs/zpool.cache
111*16038816SMartin Matuskaby default.
112*16038816SMartin Matuska.It Fl d Ar dir
113*16038816SMartin MatuskaSearch for
114*16038816SMartin Matuska.Ar pool
115*16038816SMartin Matuskamembers in
116*16038816SMartin Matuska.Ar dir .
117*16038816SMartin MatuskaCan be specified more than once.
118*16038816SMartin Matuska.El
119*16038816SMartin Matuska.
120*16038816SMartin Matuska.Sh EXAMPLES
121*16038816SMartin Matuska.Bd -literal
122eda14cbcSMatt Macy# zhack feature stat tank
123eda14cbcSMatt Macyfor_read_obj:
124eda14cbcSMatt Macy	org.illumos:lz4_compress = 0
125eda14cbcSMatt Macyfor_write_obj:
126eda14cbcSMatt Macy	com.delphix:async_destroy = 0
127eda14cbcSMatt Macy	com.delphix:empty_bpobj = 0
128eda14cbcSMatt Macydescriptions_obj:
129eda14cbcSMatt Macy	com.delphix:async_destroy = Destroy filesystems asynchronously.
130eda14cbcSMatt Macy	com.delphix:empty_bpobj = Snapshots use less space.
131eda14cbcSMatt Macy	org.illumos:lz4_compress = LZ4 compression algorithm support.
132*16038816SMartin Matuska
133eda14cbcSMatt Macy# zhack feature enable -d 'Predict future disk failures.' \\
134eda14cbcSMatt Macy    tank com.example:clairvoyance
135*16038816SMartin Matuska
136eda14cbcSMatt Macy# zhack feature ref tank com.example:clairvoyance
137*16038816SMartin Matuska.Ed
138*16038816SMartin Matuska.
139*16038816SMartin Matuska.Sh SEE ALSO
140*16038816SMartin Matuska.Xr ztest 1 ,
141*16038816SMartin Matuska.Xr zpool-features 5 ,
142*16038816SMartin Matuska.Xr zfs 8
143