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