Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
GNOP(8)			  BSD System Manager's Manual		       GNOP(8)

     gnop -- control utility for NOP GEOM class

     gnop create [-v] [-c count_until_fail] [-d	delaymsec] [-e error]
	  [-o offset] [-p stripesize] [-P stripeoffset]	[-q rdelayprob]
	  [-r rfailprob] [-s size] [-S secsize]	[-w wfailprob] [-x wdelayprob]
	  [-z physpath]	[-Z gnopname] dev ...
     gnop configure [-v] [-c count_until_fail] [-d delaymsec] [-e error]
	  [-q rdelayprob] [-r rfailprob] [-w wfailprob]	[-x wdelayprob]	prov
     gnop destroy [-fv]	prov ...
     gnop reset	[-v] prov ...
     gnop list
     gnop status
     gnop load
     gnop unload

     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 probabil-
     ity.  It also gathers statistics on the number of read, write, delete,
     getattr, flush, and other requests, and the number	of bytes read and
     written.  gnop can	also 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:

     -c	count_until_fail  Specifies the	number of I/O requests to allow	before
			  setting the read, write and delay failure probabili-

     -d	delaymsec	  Specifies the	delay of the requests in milliseconds.
			  Note that requests will be delayed before they are
			  sent to the backing device.

     -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.

     -p	stripesize	  Value	of the stripesize property of the transparent

     -P	stripeoffset	  Value	of the stripeoffset property of	the transpar-
			  ent provider.

     -q	rdelayprob	  Specifies read delay probability in percent.

     -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.

     -x	wdelayprob	  Specifies write delay	probability in percent.

     -z	physpath	  Physical path	of the transparent provider.

     -Z	gnopname	  The name of the new provider.	 The suffix ".nop"
			  will be appended to the provider name.

     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 informa-
	     tion 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 includ-
	     ing all I/O requests.

     Exit status is 0 on success, and 1	if the command fails.

     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 ob-
     tained 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

     geom(4), geom(8)

     The gnop utility appeared in FreeBSD 5.3.

     Pawel Jakub Dawidek <>

BSD			       December	29, 2019			   BSD


Want to link to this manual page? Use this URL:

home | help