diff options
-rw-r--r-- | configure.ac | 1 | ||||
-rw-r--r-- | man/Makefile.am | 2 | ||||
-rw-r--r-- | man/man1/Makefile.am | 5 | ||||
-rw-r--r-- | man/man1/zpios.1 | 210 | ||||
-rw-r--r-- | man/man8/Makefile.am | 2 | ||||
-rw-r--r-- | man/man8/mount.zfs.8 | 123 | ||||
-rw-r--r-- | man/man8/zinject.8 | 146 | ||||
-rw-r--r-- | zfs.spec.in | 1 |
8 files changed, 488 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac index 71776e7ac..669094a55 100644 --- a/configure.ac +++ b/configure.ac @@ -64,6 +64,7 @@ AC_CONFIG_FILES([ etc/init.d/Makefile etc/zfs/Makefile man/Makefile + man/man1/Makefile man/man5/Makefile man/man8/Makefile lib/Makefile diff --git a/man/Makefile.am b/man/Makefile.am index 0ccc5b491..841cb9c4e 100644 --- a/man/Makefile.am +++ b/man/Makefile.am @@ -1 +1 @@ -SUBDIRS = man5 man8 +SUBDIRS = man1 man5 man8 diff --git a/man/man1/Makefile.am b/man/man1/Makefile.am new file mode 100644 index 000000000..54ff9e54f --- /dev/null +++ b/man/man1/Makefile.am @@ -0,0 +1,5 @@ +man_MANS = zpios.1 ztest.1 +EXTRA_DIST = $(man_MANS) + +install-data-local: + $(INSTALL) -d -m 0755 "$(DESTDIR)$(mandir)/man1" diff --git a/man/man1/zpios.1 b/man/man1/zpios.1 new file mode 100644 index 000000000..4b362b09d --- /dev/null +++ b/man/man1/zpios.1 @@ -0,0 +1,210 @@ +'\" 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 zpios 1 "2013 FEB 28" "ZFS on Linux" "User Commands" + +.SH NAME +zpios \- Directly test the DMU. +.SH SYNOPSIS +.LP +.BI "zpios [options] <\-p " pool ">" + +.SH DESCRIPTION +This utility runs in-kernel DMU performance and stress tests that do +not depend on the ZFS Posix Layer ("ZPL"). + +.SH OPTIONS +.HP +.BI "\-s" " regex" ", \-\-threadcount" " regex" +.IP +Start this many threads for each test series, specified as a comma +delimited regular expression. (eg: "-s 1,2,3") +.IP +This option is mutually exclusive with the \fBthreadcount_*\fR +options. +.HP +.BI "\-l" " regex_low" ", \-\-threadcount_low" " regex_low" +.HP +.BI "\-h" " regex_high" ", \-\-threadcount_high" " regex_high" +.HP +.BI "\-e" " regex_incr" ", \-\-threadcount_incr" " regex_incr" +.IP +Start \fIregex_low\fR threads for the first test, +add \fIregex_incr\fR threads for each subsequent test, +and start \fIregex_high\fR threads for the last test. +.IP +These three options must be specified together and are mutually +exclusive with the \fBthreadcount\fR option. +.HP +.BI "\-n" " regex" ", \-\-regioncount" " regex" +.IP +Create this many regions for each test series, specified as a comma +delimited regular expression. (eg: "-n 512,4096,65536") +.IP +This option is mutually exclusive with the \fBregioncount_*\fR +options. +.HP +.BI "\-i" " regex_low" ", \-\-regioncount_low" " regex_low" +.HP +.BI "\-j" " regex_high" ", \-\-regioncount_high" " regex_high" +.HP +.BI "\-k" " regex_incr" ", \-\-regioncount_incr" " regex_incr" +.IP +Create \fIregex_low\fR regions for the first test, +add \fIregex_incr\fR regions for each subsequent test, and +create \fIregex_high\fR regions for the last test. +.IP +These three options must be specified together and are mutually +exclusive with the \fBregioncount\fR option. +.HP +.BI "\-o" " size" ", \-\-offset" " size" +.IP +Create regions at \fIsize\fR offset for each test series, specified as +a comma delimited regular expression with an optional unit suffix. +(eg: "-o 4M" means four megabytes.) +.IP +This option is mutually exclusive with the \fBoffset_*\fR options. +.HP +.BI "\-m" " size_low" ", \-\-offset_low" " size_low" +.HP +.BI "\-q" " size_high" ", \-\-offset_high" " size_high" +.HP +.BI "\-r" " size_incr" ", \-\-offset_incr" " size_incr" +.IP +Create a region at \fIsize_low\fR offset for the first test, add +\fIsize_incr\fR to the offset for each subsequent test, and create +a region at \fIsize_high\fR offset for the last test. +.IP +These three options must be specified together and are mutually +exclusive with the \fBoffset\fR option. +.HP +.BI "\-c" " size" ", \-\-chunksize" " size" +.IP +Use \fIsize\fR chunks for each test, specified as a comma delimited +regular expression with an optional unit suffix. (eg: "-c 1M" means +one megabyte.) The chunk size must be at least the region size. +.IP +This option is mutually exclusive with the \fBchunksize_*\fB options. +.HP +.BI "\-a" " size_low" ", \-\-chunksize_low" " size_low" +.HP +.BI "\-b" " size_high" ", \-\-chunksize_high" " size_high" +.HP +.BI "\-g" " size_incr" ", \-\-chunksize_incr" " size_incr" +.IP +Use a \fIsize_low\fR chunk size for the first test, add \fIsize_incr\fR +to the chunk size for each subsequent test, and use a \fIsize_high\fR +chunk size for the last test. +.IP +These three options must be specified together and are mutually +exclusive with the \fBchunksize\fR option. +.HP +.BI "\-L" " dmu_flags" ", \-\-load" " dmu_flags" +.IP +Specify \fIdmuio\fR for regular DMU_IO, \fIssf\fR for single shared +file access, or \fIfpp\fR for per thread access. Use commas to delimit +multiple flags. (eg: "-L dmuio,ssf") +.HP +.BI "\-p" " name" ", \-\-pool" " name" +.IP +The pool name, which is mandatory. +.HP +.BI "\-M" " test" ", \-\-name" " test" +.IP +An arbitrary string that appears in the program output. +.HP +.BI "-x, \-\-cleanup" +.IP +Enable the DMU_REMOVE flag. +.HP +.BI "\-P" " command" ", \-\-prerun" " command" +.IP +Invoke \fIcommand\fR from the kernel before running the test. Shell +expansion is not performed and the environment is set to +HOME=/; TERM=linux; PATH=/sbin:/usr/sbin:/bin:/usr/bin. +.HP +.BI "\-R" " command" ", \-\-postrun" " command" +.IP +Invoke \fIcommand\fR from the kernel after running the test. Shell +expansion is not performed and the environment is set to +HOME=/; TERM=linux; PATH=/sbin:/usr/sbin:/bin:/usr/bin. +.HP +.BI "\-G" " directory" ", \-\-log" " directory" +.IP +Put logging output in this directory. +.HP +.BI "\-I" " size" ", \-\-regionnoise" " size" +.IP +Randomly vary the \fBregionsize\fR parameter for each test +modulo \fIsize\fR bytes. +.HP +.BI "\-N" " size" ", \-\-chunknoise" " size" +.IP +Randomly vary the \fBchunksize\fR parameter for each test +modulo \fIsize\fR bytes. +.HP +.BI "\-T" " time" ", \-\-threaddelay" " time" +.IP +Randomly vary the execution time for each test +modulo \fItime\fR kernel jiffies. +.HP +.BI "\-V" "" ", \-\-verify" "" +.IP +Enable the DMU_VERIFY flag for trivial data verification. +.HP +.BI "\-z" "" ", \-\-zerocopy" "" +.IP +Enable the DMU_READ_ZC and DMU_WRITE_ZC flags, which are +currently unimplemented for Linux. +.IP +.HP +.BI "\-O" "" ", \-\-nowait" "" +.IP +Enable the DMU_WRITE_NOWAIT flag. +.HP +.BI "\-f" "" ", \-\-noprefetch" "" +.IP +Enable the DMU_READ_NOPF flag. +.HP +.BI "\-H" "" ", \-\-human\-readable" "" +.IP +Print PASS and FAIL results explicitly and put unit suffixes on large +numbers. +.HP +.BI "\-v" "" ", \-\-verbose" "" +.IP +Increase output verbosity. +.HP +.BI "\-?" " " ", \-\-help" " " +.IP +Print the usage message. +.SH "AUTHORS" +The original zpios implementation was created by Cluster File Systems +Inc and adapted to ZFS on Linux by Brian Behlendorf + +This man page was written by Darik Horn <[email protected]>. +.SH "SEE ALSO" +.BR zpool (8), +.BR zfs (8) diff --git a/man/man8/Makefile.am b/man/man8/Makefile.am index 05ca1ce31..23b39b7f3 100644 --- a/man/man8/Makefile.am +++ b/man/man8/Makefile.am @@ -1,4 +1,4 @@ -man_MANS = vdev_id.8 zdb.8 zfs.8 zpool.8 zstreamdump.8 +man_MANS = mount.zfs.8 vdev_id.8 zdb.8 zfs.8 zinject.8 zpool.8 zstreamdump.8 EXTRA_DIST = $(man_MANS) install-data-local: diff --git a/man/man8/mount.zfs.8 b/man/man8/mount.zfs.8 new file mode 100644 index 000000000..60c36fe4e --- /dev/null +++ b/man/man8/mount.zfs.8 @@ -0,0 +1,123 @@ +'\" 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 mount.zfs 8 "2013 FEB 28" "ZFS on Linux" "System Administration Commands" + +.SH NAME +mount.zfs \- mount a ZFS filesystem +.SH SYNOPSIS +.LP +.BI "mount.zfs [\-sfnvh] [\-o " options "]" " dataset mountpoint + +.SH DESCRIPTION +.BR mount.zfs +is part of the zfsutils package for Linux. It is a helper program that +is usually invoked by the +.BR mount (8) +or +.BR zfs (8) +commands to mount a ZFS dataset. + +All +.I options +are handled according to the FILESYSTEM INDEPENDENT MOUNT OPTIONS +section in the +.BR mount (8) +manual, except for those described below. + +The +.I dataset +parameter is a ZFS filesystem name, as output by the +.B "zfs list -H -o name +command. This parameter never has a leading slash character and is +not a device name. + +The +.I mountpoint +parameter is the path name of a directory. + + +.SH OPTIONS +.TP +.BI "\-s" +Ignore bad or sloppy mount options. +.TP +.BI "\-f" +Do a fake mount; do not perform the mount operation. +.TP +.BI "\-n" +Do not update the /etc/mtab file. +.TP +.BI "\-v" +Increase verbosity. +.TP +.BI "\-h" +Print the usage message. +.TP +.BI "\-o legacy" +This private flag indicates that the +.I dataset +has an entry in the /etc/fstab file. +.TP +.BI "\-o noxattr" +This private flag disables extended attributes. +.TP +.BI "\-o xattr +This private flag enables extended attributes and, if appropriate, +adds a ZFS context to the selinux system policy. +.TP +.BI "\-o zfsutil" +This private flag indicates that +.BR mount (8) +is being called by the +.BR zfs (8) +command. + +.SH NOTES +ZFS conventionally requires that the +.I mountpoint +be an empty directory, but the Linux implementation inconsistently +enforces the requirement. + +The +.BR mount.zfs +helper does not mount the contents of zvols. + +.SH FILES +.TP 18n +.I /etc/fstab +The static filesystem table. +.TP +.I /etc/mtab +The mounted filesystem table. +.SH "AUTHORS" +The primary author of +.BR mount.zfs +is Brian Behlendorf <[email protected]>. + +This man page was written by Darik Horn <[email protected]>. +.SH "SEE ALSO" +.BR fstab (5), +.BR mount (8), +.BR zfs (8) 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) diff --git a/zfs.spec.in b/zfs.spec.in index 3e784ecda..29f6f83e9 100644 --- a/zfs.spec.in +++ b/zfs.spec.in @@ -78,6 +78,7 @@ rm -rf $RPM_BUILD_ROOT %defattr(-, root, root) %{_sbindir}/* %{_libdir}/* +%{_mandir}/man1/* %{_mandir}/man5/* %{_mandir}/man8/* %{_udevdir}/* |