xref: /freebsd/sys/contrib/openzfs/man/man1/raidz_test.1 (revision 61145dc2b94f12f6a47344fb9aac702321880e43)
1.\" SPDX-License-Identifier: CDDL-1.0
2.\"
3.\" CDDL HEADER START
4.\"
5.\" The contents of this file are subject to the terms of the
6.\" Common Development and Distribution License (the "License").
7.\" You may not use this file except in compliance with the License.
8.\"
9.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10.\" or https://opensource.org/licenses/CDDL-1.0.
11.\" See the License for the specific language governing permissions
12.\" and limitations under the License.
13.\"
14.\" When distributing Covered Code, include this CDDL HEADER in each
15.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16.\" If applicable, add the following below this CDDL HEADER, with the
17.\" fields enclosed by brackets "[]" replaced with your own identifying
18.\" information: Portions Copyright [yyyy] [name of copyright owner]
19.\"
20.\" CDDL HEADER END
21.\"
22.\" Copyright (c) 2016 Gvozden Nešković. All rights reserved.
23.\"
24.Dd May 26, 2021
25.Dt RAIDZ_TEST 1
26.Os
27.
28.Sh NAME
29.Nm raidz_test
30.Nd raidz implementation verification and benchmarking tool
31.Sh SYNOPSIS
32.Nm
33.Op Fl StBevTD
34.Op Fl a Ar ashift
35.Op Fl o Ar zio_off_shift
36.Op Fl d Ar raidz_data_disks
37.Op Fl s Ar zio_size_shift
38.Op Fl r Ar reflow_offset
39.
40.Sh DESCRIPTION
41The purpose of this tool is to run all supported raidz implementation and verify
42the results of all methods.
43It also contains a parameter sweep option where all
44parameters affecting a RAID-Z block are verified (like ashift size, data offset,
45data size, etc.).
46The tool also supports a benchmarking mode using the
47.Fl B
48option.
49.
50.Sh OPTION
51.Bl -tag -width "-B(enchmark)"
52.It Fl h
53Print a help summary.
54.It Fl a Ar ashift Pq default: Sy 9
55Ashift value.
56.It Fl o Ar zio_off_shift Pq default: Sy 0
57ZIO offset for each raidz block.
58The offset's value is
59.Em 2^zio_off_shift .
60.It Fl d Ar raidz_data_disks Pq default: Sy 8
61Number of raidz data disks to use.
62Additional disks will be used for parity.
63.It Fl s Ar zio_size_shift Pq default: Sy 19
64Size of data for raidz block.
65The real size is
66.Em 2^zio_size_shift .
67.It Fl r Ar reflow_offset Pq default: Sy uint max
68Set raidz expansion offset.
69The expanded raidz map allocation function will
70produce different map configurations depending on this value.
71.It Fl S Ns Pq weep
72Sweep parameter space while verifying the raidz implementations.
73This option
74will exhaust all most of valid values for the
75.Fl aods
76options.
77Runtime using this option will be long.
78.It Fl t Ns Pq imeout
79Wall time for sweep test in seconds.
80The actual runtime could be longer.
81.It Fl B Ns Pq enchmark
82All implementations are benchmarked using increasing per disk data size.
83Results are given as throughput per disk, measured in MiB/s.
84.It Fl e Ns Pq xpansion
85Use expanded raidz map allocation function.
86.It Fl v Ns Pq erbose
87Increase verbosity.
88.It Fl T Ns Pq est the test
89Debugging option: fail all tests.
90This is to check if tests would properly verify bit-exactness.
91.It Fl D Ns Pq ebug
92Debugging option: attach
93.Xr gdb 1
94when
95.Sy SIGSEGV
96or
97.Sy SIGABRT
98are received.
99.El
100.
101.Sh "SEE ALSO"
102.Xr ztest 1
103