summaryrefslogtreecommitdiffstats
path: root/man/man8/zinject.8
diff options
context:
space:
mode:
authorDarik Horn <[email protected]>2013-03-12 14:40:55 -0500
committerBrian Behlendorf <[email protected]>2013-03-13 13:41:22 -0700
commitcf2129e6dc567004fb5246ae67248de030d9520b (patch)
treed588ee85e2acadb2ffaf01a74b3a9001d4ffe541 /man/man8/zinject.8
parent5cd0add2149e63cf962cc715338e41a611b8c0aa (diff)
Create mount.zfs, zinject, and zpios man pages.
And update the automake templates to install them. Signed-off-by: Brian Behlendorf <[email protected]> Closes #518
Diffstat (limited to 'man/man8/zinject.8')
-rw-r--r--man/man8/zinject.8146
1 files changed, 146 insertions, 0 deletions
diff --git a/man/man8/zinject.8 b/man/man8/zinject.8
new file mode 100644
index 000000000..13c4c1fea
--- /dev/null
+++ b/man/man8/zinject.8
@@ -0,0 +1,146 @@
+'\" 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 <[email protected]>. All rights reserved.
+.\"
+.TH zinject 8 "2013 FEB 28" "ZFS on Linux" "System Administration Commands"
+
+.SH NAME
+zinject \- ZFS Fault Injector
+.SH DESCRIPTION
+.BR zinject
+creates artificial problems in a ZFS pool by simulating data corruption or device failures. This program is dangerous.
+.SH SYNOPSIS
+.TP
+.B "zinject"
+List injection records.
+.TP
+.B "zinject \-b \fIobjset:object:level:blkd\fB [\-f \fIfrequency\fB] [\-amu] \fIpool\fB"
+Force an error into the pool at a bookmark.
+.TP
+.B "zinject \-c <\fIid\fB | all>
+Cancel injection records.
+.TP
+.B "zinject \-d \fIvdev\fB \-A <degrade|fault> \fIpool\fB
+Force a vdev into the DEGRADED or FAULTED state.
+.TP
+.B "zinject \-d \fIvdev\fB [\-e \fIdevice_error\fB] [\-L \fIlabel_error\fB] [\-T \fIfailure\fB] [\-F] \fIpool\fB"
+Force a vdev error.
+.TP
+.B "zinject \-I [\-s \fIseconds\fB | \-g \fItxgs\fB] \fIpool\fB"
+Simulate a hardware failure that fails to honor a cache flush.
+.TP
+.B "zinject \-p \fIfunction\fB \fIpool\fB
+Panic inside the specified function.
+.TP
+.B "zinject \-t data [\-e \fIdevice_error\fB] [\-f \fIfrequency\fB] [\-l \fIlevel\fB] [\-r \fIrange\fB] [\-amq] \fIpath\fB"
+Force an error into the contents of a file.
+.TP
+.B "zinject \-t dnode [\-e \fIdevice_error\fB] [\-f \fIfrequency\fB] [\-l \fIlevel\fB] [\-amq] \fIpath\fB"
+Force an error into the metadnode for a file or directory.
+.TP
+.B "zinject \-t \fImos_type\fB [\-e \fIdevice_error\fB] [\-f \fIfrequency\fB] [\-l \fIlevel\fB] [\-r \fIrange\fB] [\-amqu] \fIpool\fB"
+Force an error into the MOS of a pool.
+.SH OPTIONS
+.TP
+.BI "\-a"
+Flush the ARC before injection.
+.TP
+.BI "\-b" " objset:object:level:start:end"
+Force an error into the pool at this bookmark tuple. Each number is
+in hexidecimal, and only one block can be specified.
+.TP
+.BI "\-d" " vdev"
+A vdev specified by path or GUID.
+.TP
+.BI "\-e" " device_error"
+Specify
+.BR "checksum" " for an ECKSUM error,"
+.BR "dtl" " for an ECHILD error,"
+.BR "io" " for an EIO error where reopening the device will succeed, or"
+.BR "nxio" " for an ENXIO error where reopening the device will fail."
+.TP
+.BI "\-f" " frequency"
+Only inject errors a fraction of the time. Expressed as an integer
+percentage between 1 and 100.
+.TP
+.BI "\-F"
+Fail faster. Do fewer checks.
+.TP
+.BI "\-g" " txgs"
+Run for this many transaction groups before reporting failure.
+.TP
+.BI "\-h"
+Print the usage message.
+.TP
+.BI "\-l" " level"
+Inject an error at a particular block level. The default is 0.
+.TP
+.BI "\-L" " label_error"
+Set the label error region to one of
+.BR " nvlist" ","
+.BR " pad1" ","
+.BR " pad2" ", or"
+.BR " uber" "."
+.TP
+.BI "\-m"
+Automatically remount the underlying filesystem.
+.TP
+.BI "\-q"
+Quiet mode. Only print the handler number added.
+.TP
+.BI "\-r" " range"
+Inject an error over a particular logical range of an object, which
+will be translated to the appropriate blkid range according to the
+object's properties.
+.TP
+.BI "\-s" " seconds"
+Run for this many seconds before reporting failure.
+.TP
+.BI "\-T" " failure"
+Set the failure type to one of
+.BR " all" ","
+.BR " claim" ","
+.BR " free" ","
+.BR " read" ", or"
+.BR " write" "."
+.TP
+.BI "\-t" " mos_type"
+Set this to
+.BR "mos " "for any data in the MOS,"
+.BR "mosdir " "for an object directory,"
+.BR "config " "for the pool configuration,"
+.BR "bpobj " "for the block pointer list,"
+.BR "spacemap " "for the space map,"
+.BR "metaslab " "for the metaslab, or"
+.BR "errlog " "for the persistent error log."
+.TP
+.BI "\-u"
+Unload the pool after injection.
+
+.SH "AUTHORS"
+This man page was written by Darik Horn <[email protected]>
+excerpting the \fBzinject\fR usage message and source code.
+
+.SH "SEE ALSO"
+.BR zpool (8),
+.BR zfs (8)