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