1*61145dc2SMartin Matuska.\" SPDX-License-Identifier: CDDL-1.0 2eda14cbcSMatt Macy.\" 3eda14cbcSMatt Macy.\" CDDL HEADER START 4eda14cbcSMatt Macy.\" 5eda14cbcSMatt Macy.\" The contents of this file are subject to the terms of the 6eda14cbcSMatt Macy.\" Common Development and Distribution License (the "License"). 7eda14cbcSMatt Macy.\" You may not use this file except in compliance with the License. 8eda14cbcSMatt Macy.\" 9eda14cbcSMatt Macy.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10271171e0SMartin Matuska.\" or https://opensource.org/licenses/CDDL-1.0. 11eda14cbcSMatt Macy.\" See the License for the specific language governing permissions 12eda14cbcSMatt Macy.\" and limitations under the License. 13eda14cbcSMatt Macy.\" 14eda14cbcSMatt Macy.\" When distributing Covered Code, include this CDDL HEADER in each 15eda14cbcSMatt Macy.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16eda14cbcSMatt Macy.\" If applicable, add the following below this CDDL HEADER, with the 17eda14cbcSMatt Macy.\" fields enclosed by brackets "[]" replaced with your own identifying 18eda14cbcSMatt Macy.\" information: Portions Copyright [yyyy] [name of copyright owner] 19eda14cbcSMatt Macy.\" 20eda14cbcSMatt Macy.\" CDDL HEADER END 21eda14cbcSMatt Macy.\" 22eda14cbcSMatt Macy.\" Copyright (c) 2016 Gvozden Nešković. All rights reserved. 23eda14cbcSMatt Macy.\" 2416038816SMartin Matuska.Dd May 26, 2021 2516038816SMartin Matuska.Dt RAIDZ_TEST 1 2616038816SMartin Matuska.Os 2716038816SMartin Matuska. 2816038816SMartin Matuska.Sh NAME 2916038816SMartin Matuska.Nm raidz_test 3016038816SMartin Matuska.Nd raidz implementation verification and benchmarking tool 3116038816SMartin Matuska.Sh SYNOPSIS 3216038816SMartin Matuska.Nm 3316038816SMartin Matuska.Op Fl StBevTD 3416038816SMartin Matuska.Op Fl a Ar ashift 3516038816SMartin Matuska.Op Fl o Ar zio_off_shift 3616038816SMartin Matuska.Op Fl d Ar raidz_data_disks 3716038816SMartin Matuska.Op Fl s Ar zio_size_shift 3816038816SMartin Matuska.Op Fl r Ar reflow_offset 3916038816SMartin Matuska. 4016038816SMartin Matuska.Sh DESCRIPTION 4116038816SMartin MatuskaThe purpose of this tool is to run all supported raidz implementation and verify 4216038816SMartin Matuskathe results of all methods. 4316038816SMartin MatuskaIt also contains a parameter sweep option where all 44c03c5b1cSMartin Matuskaparameters affecting a RAID-Z block are verified (like ashift size, data offset, 4516038816SMartin Matuskadata size, etc.). 4616038816SMartin MatuskaThe tool also supports a benchmarking mode using the 4716038816SMartin Matuska.Fl B 4816038816SMartin Matuskaoption. 4916038816SMartin Matuska. 5016038816SMartin Matuska.Sh OPTION 5116038816SMartin Matuska.Bl -tag -width "-B(enchmark)" 5216038816SMartin Matuska.It Fl h 53eda14cbcSMatt MacyPrint a help summary. 543ff01b23SMartin Matuska.It Fl a Ar ashift Pq default: Sy 9 55eda14cbcSMatt MacyAshift value. 563ff01b23SMartin Matuska.It Fl o Ar zio_off_shift Pq default: Sy 0 5716038816SMartin MatuskaZIO offset for each raidz block. 5816038816SMartin MatuskaThe offset's value is 593ff01b23SMartin Matuska.Em 2^zio_off_shift . 603ff01b23SMartin Matuska.It Fl d Ar raidz_data_disks Pq default: Sy 8 6116038816SMartin MatuskaNumber of raidz data disks to use. 6216038816SMartin MatuskaAdditional disks will be used for parity. 633ff01b23SMartin Matuska.It Fl s Ar zio_size_shift Pq default: Sy 19 6416038816SMartin MatuskaSize of data for raidz block. 6516038816SMartin MatuskaThe real size is 663ff01b23SMartin Matuska.Em 2^zio_size_shift . 673ff01b23SMartin Matuska.It Fl r Ar reflow_offset Pq default: Sy uint max 6816038816SMartin MatuskaSet raidz expansion offset. 6916038816SMartin MatuskaThe expanded raidz map allocation function will 707877fdebSMatt Macyproduce different map configurations depending on this value. 713ff01b23SMartin Matuska.It Fl S Ns Pq weep 7216038816SMartin MatuskaSweep parameter space while verifying the raidz implementations. 7316038816SMartin MatuskaThis option 7416038816SMartin Matuskawill exhaust all most of valid values for the 7516038816SMartin Matuska.Fl aods 7616038816SMartin Matuskaoptions. 7716038816SMartin MatuskaRuntime using this option will be long. 783ff01b23SMartin Matuska.It Fl t Ns Pq imeout 7916038816SMartin MatuskaWall time for sweep test in seconds. 8016038816SMartin MatuskaThe actual runtime could be longer. 813ff01b23SMartin Matuska.It Fl B Ns Pq enchmark 8216038816SMartin MatuskaAll implementations are benchmarked using increasing per disk data size. 8316038816SMartin MatuskaResults are given as throughput per disk, measured in MiB/s. 843ff01b23SMartin Matuska.It Fl e Ns Pq xpansion 857877fdebSMatt MacyUse expanded raidz map allocation function. 863ff01b23SMartin Matuska.It Fl v Ns Pq erbose 87eda14cbcSMatt MacyIncrease verbosity. 883ff01b23SMartin Matuska.It Fl T Ns Pq est the test 8916038816SMartin MatuskaDebugging option: fail all tests. 9016038816SMartin MatuskaThis is to check if tests would properly verify bit-exactness. 913ff01b23SMartin Matuska.It Fl D Ns Pq ebug 9216038816SMartin MatuskaDebugging option: attach 9316038816SMartin Matuska.Xr gdb 1 9416038816SMartin Matuskawhen 9516038816SMartin Matuska.Sy SIGSEGV 9616038816SMartin Matuskaor 9716038816SMartin Matuska.Sy SIGABRT 9816038816SMartin Matuskaare received. 9916038816SMartin Matuska.El 10016038816SMartin Matuska. 10116038816SMartin Matuska.Sh "SEE ALSO" 10216038816SMartin Matuska.Xr ztest 1 103