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