| .\" |
| .\" 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. |
| .\" |
| .\" lint-ok: WARNING: sections out of conventional order: Sh SYNOPSIS |
| .\" |
| .Dd May 26, 2021 |
| .Dt ZHACK 1 |
| .Os |
| . |
| .Sh NAME |
| .Nm zhack |
| .Nd 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 |
| .Bl -tag -width Ds |
| .It Xo |
| .Nm zhack |
| .Cm feature stat |
| .Ar pool |
| .Xc |
| List feature flags. |
| . |
| .It Xo |
| .Nm zhack |
| .Cm feature enable |
| .Op Fl d Ar description |
| .Op Fl r |
| .Ar pool |
| .Ar guid |
| .Xc |
| Add a new feature to |
| .Ar pool |
| that is uniquely identified by |
| .Ar guid , |
| which is specified in the same form as a |
| .Xr zfs 8 |
| user property. |
| .Pp |
| The |
| .Ar description |
| is a short human readable explanation of the new feature. |
| .Pp |
| The |
| .Fl r |
| flag indicates that |
| .Ar pool |
| can be safely opened in read-only mode by a system that does not understand the |
| .Ar guid |
| feature. |
| . |
| .It Xo |
| .Nm zhack |
| .Cm feature ref |
| .Op Fl d Ns | Ns Fl m |
| .Ar pool |
| .Ar guid |
| .Xc |
| Increment the reference count of the |
| .Ar guid |
| feature in |
| .Ar pool . |
| .Pp |
| The |
| .Fl d |
| flag decrements the reference count of the |
| .Ar guid |
| feature in |
| .Ar pool |
| instead. |
| .Pp |
| The |
| .Fl m |
| flag indicates that the |
| .Ar guid |
| feature is now required to read the pool MOS. |
| .El |
| . |
| .Sh GLOBAL OPTIONS |
| The following can be passed to all |
| .Nm |
| invocations before any subcommand: |
| .Bl -tag -width "-d dir" |
| .It Fl c Ar cachefile |
| Read |
| .Ar pool |
| configuration from the |
| .Ar cachefile , |
| which is |
| .Pa /etc/zfs/zpool.cache |
| by default. |
| .It Fl d Ar dir |
| Search for |
| .Ar pool |
| members in |
| .Ar dir . |
| Can be specified more than once. |
| .El |
| . |
| .Sh EXAMPLES |
| .Bd -literal |
| .No # Nm zhack Cm feature stat Ar 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. |
| |
| .No # Nm zhack Cm feature enable Fl d No 'Predict future disk failures.' Ar tank com.example:clairvoyance |
| .No # Nm zhack Cm feature ref Ar tank com.example:clairvoyance |
| .Ed |
| . |
| .Sh SEE ALSO |
| .Xr ztest 1 , |
| .Xr zpool-features 7 , |
| .Xr zfs 8 |