GNOP(8) |
FreeBSD System Manager's Manual |
GNOP(8) |
NAME
gnop —
control utility for NOP GEOM class
SYNOPSIS
gnop |
create [ -v][ -e error][ -o offset][ -r rfailprob][ -s size][ -S secsize][ -w wfailprob] dev ... |
gnop |
configure [ -v][ -e error][ -r rfailprob][ -w wfailprob] prov ... |
gnop |
destroy [ -fv] prov ... |
gnop |
reset [ -v] prov ... |
DESCRIPTION
The
gnop utility is used for setting up transparent providers on existing ones. Its main purpose is testing other GEOM classes, as it allows forced provider removal and I/O error simulation with a given probability. It also gathers the following statistics: number of read requests, number of write requests, number of bytes read and number of bytes written. In addition, it can be used as a good starting point for implementing new GEOM classes.
The first argument to gnop indicates an action to be performed:
-
create
-
Set up a transparent provider on the given devices. If the operation succeeds, the new provider should appear with name
/dev/<
dev>
.nop. The kernel module
geom_nop.ko will be loaded if it is not loaded already.
-
configure
-
Configure existing transparent provider. At the moment it is only used for changing failure probability.
-
destroy
-
Turn off the given transparent providers.
-
reset
-
Reset statistics for the given transparent providers.
-
list
-
See
geom(8).
-
status
-
See
geom(8).
-
load
-
See
geom(8).
-
unload
-
See
geom(8).
Additional options:
-
-e
error
-
Specifies the error number to return on failure.
-
-f
-
Force the removal of the specified provider.
-
-o
offset
-
Where to begin on the original provider.
-
-r
rfailprob
-
Specifies read failure probability in percent.
-
-s
size
-
Size of the transparent provider.
-
-S
secsize
-
Sector size of the transparent provider.
-
-w
wfailprob
-
Specifies write failure probability in percent.
-
-v
-
Be more verbose.
SYSCTL VARIABLES
The following
sysctl(8) variables can be used to control the behavior of the
NOP GEOM class. The default value is shown next to each variable.
-
kern.geom.nop.debug: 0
-
Debug level of the
NOP GEOM class. This can be set to a number between 0 and 2 inclusive. If set to 0, minimal debug information is printed. If set to 1, basic debug information is logged along with the I/O requests that were returned as errors. If set to 2, the maximum amount of debug information is printed including all I/O requests.
EXIT STATUS
Exit status is 0 on success, and 1 if the command fails.
EXAMPLES
The following example shows how to create a transparent provider for disk
/dev/da0 with 50% write failure probability, and how to destroy it.
gnop create -v -w 50 da0
gnop destroy -v da0.nop
The traffic statistics for the given transparent providers can be obtained with the list command. The example below shows the number of bytes written with newfs(8):
gnop create da0
newfs /dev/da0.nop
gnop list
HISTORY
The
gnop utility appeared in
FreeBSD 5.3.
AUTHORS
Pawel Jakub Dawidek <pjd@FreeBSD.org>