unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Page:
Section:
Apropos / Subsearch:
optional field



volume(8)							    volume(8)



NAME

  volume - Performs Logical Storage Manager operations on volumes

SYNOPSIS

  /sbin/volume [-Vf] [-g diskgroup] [-U	usetype] [-o useopt] init init_type
  volume [arg...]

  /sbin/volume [-Vf] [-g diskgroup] [-U	usetype] [-o useopt] rdpol policy
  volume [plex]

  /sbin/volume [-Vf] [-g diskgroup] [-U	usetype] [-o useopt] start volume...

  /sbin/volume [-Vf] [-g diskgroup] [-U	usetype] [-o useopt] startall

  /sbin/volume [-Vf] [-g diskgroup] [-U	usetype] [-o useopt] stop volume...

  /sbin/volume [-Vf] [-g diskgroup] [-U	usetype] [-o useopt] stopall

  /sbin/volume [-Vf] [-g diskgroup] [-U	usetype] [-o useopt] resync volume...

  /sbin/volume [-Vf] [-g diskgroup] [-U	usetype] [-o useopt] maint volume...

  /sbin/volume [-Vf] [-g diskgroup] [-U	usetype] [-o useopt] set
  attribute=value... [--] volume...

  The following	additional volume operation applies only to the	raid5 usage
  type:

  /sbin/volume [-Vf] [-g diskgroup] [-U	usetype] [-o useopt] recover  volume
  [subdisk]...

OPTIONS

  The following	options	are recognized:

  -g diskgroup
      Specifies	the disk group for the operation. The disk group can be
      specified	either by name or by disk group	ID. If no disk group is
      specified, the rootdg disk group is implied. See voldg(8)	for more
      information on disk groups.

  -U usetype
      Forces the operation to be performed by the usage-type utility for this
      usage type.

  -V  Displays a list of utilities that	would be called	from volume, along
      with the arguments that would be passed. The -V option performs a	"mock
      run" so the utilities are	not actually called, and no changes are	made
      to the volume configuration database.

  -f  Forces an	operation in some situations where the operation has
      questionable semantics. For example, -f may be used to reduce the
      length of	a volume with volume set, to stop a volume that	is currently
      open or mounted as a file	system,	or to attempt to start a volume	that
      has no plexes with valid data.

  -o useopt
      Passes in	usage-type-specific options to the operation.

      The following -o options apply to	all usage types:

      bg  Performs any extended	recovery operations in background processes
	  after	the volume and one or more plexes have been enabled. A volume
	  that is started or whose length is changed successfully with this
	  option will be usable	immediately after the operation	completes,
	  although recovery operations may affect performance of the volume
	  for an extended period of time.

      force
	  Forces an operation that is not normally performed as	part of	the
	  operational model of the Logical Storage Manager and may have
	  adverse effects on data. This	is the same as -f.

      plexfork[=count]
	  Performs up to the specified number of plex recovery operations
	  simultaneously. If no	count is specified, a suitable small number
	  is used (normally 10).

      delayrecover
	  Does not perform any plex recovery operations	when starting a
	  volume, but simply enables the volume	and any	plexes.	This may
	  leave	some stale plexes, and may leave a mirrored volume in a	spe-
	  cial read-writeback (NEEDSYNC) recover state that performs limited
	  plex recovery	for each read to the volume.

      slow[=iodelay]
	  Reduces the system performance impact	of plex	recovery operations
	  and volume length changes. Startup recovery and length change	con-
	  sistency operations are usually a set	of short operations on small
	  regions of the volume	(normally from 16KB to 256KB). This option
	  inserts a delay between the recovery of each such region. A
	  specific delay can be	specified with iodelay as a number of mil-
	  liseconds, or	else a default is chosen (normally 250 milliseconds).

      iosize=size
	  Performs recovery operations in regions with the length specified
	  by size, which is a standard LSM length number (see volintro(8)).
	  Specifying a larger number typically causes the operation to com-
	  plete	sooner,	but with greater impact	on other processes using the
	  volume. The default I/O size is typically 256KB.

      verbose
	  Prints a message for each volume that	is successfully	started.
	  Without this option, messages	appear only for	volumes	that fail to
	  start.

      The gen usage type supports the following	additional -o option:

      norecov
	  Prevents the start operation from recovering plexes through the
	  volplex utility. Instead, all	STALE and ACTIVE plexes	are simply
	  treated as equivalent	to CLEAN plexes, and are thus enabled without
	  being	made consistent. This can be used for volumes whose contents
	  are recreated	for each use, for example a swap area or the /tmp
	  file system. In the case of /tmp, the	model assumes that newfs is
	  used to create an empty file system after the	volume has been
	  started.

      The raid5	usage type supports the	following additional -o	options:

      checkpt=size
	  Sets the checkpoint size for a volume. A complete resynchronization
	  of a volume via VOL_R5_RESYNC	ioctls can take	a long time.  It is
	  conceivable in some circumstances that the operation could be
	  stopped before it completes (such as by a system crash). To avoid
	  having to restart the	synchronization	from the beginning of the
	  volume (after	a certain amount of the	volume has been	synchron-
	  ized), a transaction is issued to record the offset to which the
	  resynchronization has	completed. This	size is	called the checkpoint
	  length and can be set	using the checkpt option. The default check-
	  point	length is 64MB.

      delayrecover
	  Prevents the start operation from undergoing some recovery opera-
	  tions. Any valid RAID5 logs will still be replayed; however, no
	  parity resynchronizations or subdisk recoveries will be performed.

      unsafe
	  Allows access	to certain volumes earlier in the starting process
	  than is normally allowed by the operating process of RAID5 volumes.
	  This can have	adverse	effects	on the data, and can also result in
	  the RAID5 volume becoming unusable after a system crash or a power
	  failure.

      syncstartok
	  Allows the delayrecover option to be ignored if the volume must
	  undergo parity resynchronizations or subdisk recoveries before the
	  volume can be	enabled.

DESCRIPTION

  The volume utility performs Logical Storage Manager operations on volumes.
  The first operand is a keyword that determines the specific operation	to
  perform.  The	remaining operands specify configuration records to which the
  operation applies.

  Each operation can be	applied	to only	one disk group at a time, due to
  internal implementation constraints. Any volume operands will	be used	to
  determine a default disk group, according to the standard disk group selec-
  tion rules described in volintro(8). A specific disk group can be selected
  with -g diskgroup.

  The recognized operation keywords are:

  init
      Initializes a volume.  This can be applied to volumes that were created
      by volmake and that have not yet been initialized, or volumes that have
      been set to the uninitialized state with volmend fix empty. The action
      to perform is specified by the init_type operand,	which is usage-type-
      dependent. The volume operand determines which usage type	to use for
      performing the operation.

      For usage-type-specific information on this operation, see the sections
      FSGEN AND	GEN USAGE TYPES	and RAID5 USAGE	TYPE.

  rdpol
      Sets the read policy for a volume	based on the policy operand. These
      are the recognized read policies:

      round
	  Uses a round-robin read order	among the enabled, readable plexes
	  associated with the volume. No plex operand should be	specified for
	  the round read-policy	type.

      prefer
	  Reads	preferentially from the	plex named by the plex operand.	If
	  the plex is enabled, readable, and associated	with the volume, any
	  read operation on the	volume results in a read from that plex	if
	  all blocks requested in the read are contained in the	plex. The
	  plex operand is required for the prefer read-policy type.

      select
	  Selects a default policy based on plex associations to the volume.
	  For a	volume that contains one enabled, striped plex,	the default
	  is to	prefer that plex. For any other	set of plex associations, the
	  default is to	use a round-robin policy. No plex operand should be
	  specified for	the select read-policy type.

  start
      Enables disabled or detached volumes named by the	volume operands. The
      process of enabling a volume is a	highly usage-type-dependent operation
      and may result in	transfers of data between plexes associated with the
      volume.

      If the start operation is	applied	to an uninitialized volume (for	exam-
      ple, a volume just created by volmake), a	default	initialization will
      be used to initialize and	enable the volume.

      If the volume is not started normally because failures and disk remo-
      vals have	left all associated plexes with	invalid	data, the -f option
      can be used to try to start the volume, anyway. This can be used after
      replacing	disks to enable	the volume so that its contents	can be
      restored from backup or reinitialized.

      For usage-type-specific information on this operation, see the sections
      FSGEN AND	GEN USAGE TYPES	and RAID5 USAGE	TYPE.

  startall
      Attempts to start	all volumes that are disabled. If a -U usetype option
      is specified, this operation attempts to start all disabled volumes
      with the indicated usage type. This operation will not start uninitial-
      ized volumes. By default,	all volumes in the rootdg disk group are
      started. A different disk	group can be specified with the	-g option.

  stop
      Disables the enabled or detached volumes named by	the volume operands.

      The stop operation provides an interface to the usage type of a volume
      for shutting down	operations on a	volume in a clean manner.  The
      specific method for cleanly stopping a volume, and the precise meaning
      of "clean" are both highly usage-type-dependent. By convention, -f can
      be used to forcibly stop a volume	that is	in use,	forcing	I/O failures
      to be returned for any further volume device operations.

      For usage-type-specific information on this operation, see the sections
      FSGEN AND	GEN USAGE TYPES	and RAID5 USAGE	TYPE.

  stopall
      Attempts to stop all volumes that	are enabled. If	a -U usetype option
      is specified, this operation attempts to stop all	disabled volumes with
      the indicated usage type.	By default, all	volumes	in the rootdg disk
      group are	stopped. A different disk group	can be specified with the -g
      option.

  resync
      Examines all volumes named by the	volume operands	and performs any syn-
      chronization operations that are required. The exact procedure for this
      operation	is usage-type specific.	See the	sections FSGEN AND GEN USAGE
      TYPES and	RAID5 USAGE TYPE for details.

  recover
      This keyword is supported	only for the raid5 usage type.

      The recover operation can	be used	to initiate a recovery of subdisks
      containing invalid data. If subdisks are specified and are stale,	they
      are recovered in the order specified. This is done by setting the	stale
      and write-only flags on the subdisks and issuing VOL_R5_RECOVER ioctls
      to regenerate the	data. After a successful recovery, the subdisk is
      marked as	non-stale and read-write.

      If no subdisk arguments are specified, the subdisks of the RAID5 plex
      of the volume are	checked	to see if they are stale or have invalid con-
      tents. If	any are	found, they are	recovered as described above.

  maint
      Detaches each volume named by the	volume operands. When a	volume is
      detached,	normal read and	write operations to the	volume fail, although
      most volume ioctl	operations can still be	used.

      For further usage-type-specific information on this operation, see the
      section FSGEN AND	GEN USAGE TYPES.

  set Changes volume characteristics specified by entering arguments immedi-
      ately after the set keyword in the form attribute=value. The volumes
      affected by the operation	follow these operands; thus the	attribute
      list must	end with an operand that does not contain an equal sign.

      To allow for volume names	that contain an	equal sign, an operand of --
      can be used to terminate the attribute list. Each	usage type
      represented by the list of volume	operands is called once, with the set
      of all volumes with that usage type.

      An attribute argument of the form	len=number is interpreted (if at all)
      as requesting a change in	the length of a	volume,	regardless of the
      volume's usage type. The number value is interpreted as a	standard
      length number (see volintro(8)).

      The set of all other attribute=value attribute arguments that are
      recognized depends upon the volume usage type. See the sections FSGEN
      AND GEN USAGE TYPES and RAID5 USAGE TYPE for details.

FSGEN AND GEN USAGE TYPES

  Limitations and extensions for the fsgen and gen usage types consist of the
  following:

  init
      The fsgen	and gen	usage types recognize the following init_type
      operands for the volume init operation:

      clean volume [plex]
	  Sets the state for the specified plex	to CLEAN, and sets all other
	  plexes to STALE. The volume start operation can then be used to
	  recover the volume from the CLEAN plex. This operation requires
	  that the volume not be enabled.

	  If the specified volume has only one plex, the plex argument is not
	  required as it defaults to that plex.	If specified, the plex argu-
	  ment must represent a	plex that is associated	with the volume.

      active volume
	  Sets the state for all plexes	associated with	volume to ACTIVE and
	  enables the volume and its plexes. This is used to initialize	a
	  single or multiple-plex volume where all plexes are known to have
	  identical contents.

      enable volume
	  Enables the volume and its plexes but	leaves the volume uninitial-
	  ized.	 This operation	can be used only for non-enabled volumes. It
	  is used to temporarily enable	a volume so that data can be loaded
	  onto it to make it consistent.  Once the data	has been loaded, init
	  active should	be used	to fully enable	the volume.  init active
	  could	be used, for example, if a complete image of the volume	is to
	  be loaded from a tape.

      zero volume
	  Writes zero blocks to	all plexes in the volume, up to	the length of
	  the volume. After the	writes complete, the state of each plex	is
	  set to ACTIVE	and the	volume and its plexes are enabled.  init zero
	  volume could be used,	for example, before running newfs to put a
	  file system on the volume.

	  If this operation is interrupted by a	signal,	an attempt is made to
	  restore all affected records to their	original state,	or to a	state
	  that is roughly equivalent to	their original state. If this attempt
	  is interrupted, such as through another signal, the user many	need
	  to perform some cleanup.  A set of commands to perform this cleanup
	  are written to the standard error before the volume utility exits.

  start
      Starting an uninitialized	gen or fsgen volume enables the	volume and
      its plexes, sets the plexes to the ACTIVE	state, and recovers the
      plexes to	ensure that each plex has the same contents. If	the volume
      has only one plex, the volume is immediately set to the ACTIVE state;
      otherwise, the volume is set to the SYNC state and a special
      read/write-back mode is used to recover regions of the volume on every
      read operation. The volume is read from beginning	to end to make all
      plexes consistent, then the volume is set	to the ACTIVE state.

      Starting a volume	with no	active dirty region logging involves enabling
      all CLEAN	and ACTIVE plexes and putting them in the ACTIVE state.	If an
      I/O failure was logged against the plex, or if a disk replacement
      caused a plex to become stale, the plex is considered STALE. If any of
      the subdisks for the plex	reside on a removed or inaccessible disk, the
      plex is ignored for the purposes of starting the volume.

      If two or	more plexes were enabled, and if the volume was	active at the
      time the system went down, the state for the volume is set to SYNC and
      a	special	read/write-back	recovery mode is used to recover consistency
      of the volume, segment-by-segment, on every read.	A process is then
      started (in the background with the -o bg	option)	to recover con-
      sistency for the entire length of	the volume.

      If any plexes were considered STALE, those plexes	are attached by	cal-
      ling volplex att.	The number of concurrent plex attach operations	are
      limited based on the rules for -o	plexfork.

      Recovery of plexes with a	dirty region log uses the same rules as	for
      volumes without a	valid dirty region log,	except that recovery of	non-
      stale plexes is done by scanning the contents of the dirty region	log
      and recovering consistency for those regions listed in the log as
      requiring	recovery.

      In addition to enabling the volume and managing the recovery of plex
      consistency, starting a volume clears any	transient operations that
      were being applied to a volume before the	system was rebooted. Starting
      a	volume dissociates and removes temporary plexes	or subdisks, and dis-
      sociates plexes that were	being attached if the attach operation did
      not complete. Snapshot plexes created by volassist are also removed.

      If the volume is unstartable because there are no	valid, non-stale
      plexes and the -f	flag is	then specified,	all STALE plexes that do not
      contain unusable subdisks	(subdisks on failed or removed disks) will be
      changed to ACTIVE. The volume will then be started and synchronized
      from those plexes.

  stop
      Stopping an fsgen	or gen volume disables the volume and its associated
      plexes. In addition, the utility state for each ACTIVE plex is changed
      as follows:

	+  If the plex is detached or disabled,	the state for the plex is set
	   to STALE. If	all plexes are set to STALE, the volume	cannot be
	   started until volmend is used to change the state of	one or more
	   plexes to CLEAN or ACTIVE. A	plex normally becomes detached as a
	   result of an	I/O error on the plex, or a disk failure or replace-
	   ment. I/O failures will not normally	detach the last	remaining
	   enabled plex	in a volume, so	disk removal operations	are the	only
	   normal operational method of	making a volume	unstartable.

	+  If the plex is volatile, that is, one of the	subdisks in the	plex
	   is defined on a disk	with the volatile attribute (see voldisk(8)),
	   the plex state is set to STALE.

	+  If the volume is enabled and	the plex is also enabled, the plex
	   state is set	to CLEAN.

	+  If the volume is detached and the plex is enabled, the plex state
	   is left as ACTIVE. A	volume can be left detached, with remaining
	   valid plexes, only as a result of calling volume maint to detach
	   an enabled volume.

      Normally,	the stop operation fails if any	extended operations are	using
      the volume or any	of its associated plexes. Such operations are
      detected as a nonempty value for the tutil0 field	in a volume or plex
      record. If the -f	option is specified, the stop operation	ignores
      volume and plex tutil0 fields.

      The -f option must also be used to forcibly stop a volume	that is	open
      or mounted as a file system. In this case, a warning message is still
      written to the standard error, but the stop operation is not otherwise
      affected.	Stopping an open or mounted volume is not normally advisable.
      Volumes that have	possibly differing plex	contents will be re-
      synchronized to contain consistent data. Any such	volumes	that are in
      the NEEDSYNC state will be recovered using a read/write-back recovery
      mode and then put	into the ACTIVE	state.

      Plexes in	the SYNC state may already be under recovery and the volume
      command will take	no action to recover them unless the command was
      invoked with the -o force	option.

  maint
      The -f option is required	to detach an enabled volume. Also, a warning
      is written to the	standard error for volumes that	are open or mounted.

  set The attributes that can be set for fsgen and gen volumes are:

      len=number
	  Changes the length of	each volume specified by the volume operands
	  to number sectors. The number	parameter is a standard	Logical
	  Storage Manager length number	(see volintro(8)). Decreasing the
	  length of a volume requires use of -f.

	  If the volume	is enabled, the	number of enabled, read-write plexes
	  that would remain complete after the length change are counted. The
	  operation fails if this number would become zero, but	the number of
	  sparse plexes	would become greater than 1. Changing the length of a
	  volume with one enabled plex beyond the length of the	plex requires
	  use of the -f	option.

	  If the volume	is not enabled,	the number of CLEAN and	ACTIVE plexes
	  that would remain complete after the length change are counted,
	  then the algorithm mentioned previously is used for determining
	  whether the operation	is allowed or requires use of -f.

	  To ensure that the new region	of the volume is consistent across
	  all plexes of	the volume, the	volume is put into a SYNC state	and
	  read/write-back mode,	and a read loop	is then	performed against the
	  volume.  Once	this loop has completed, the volume is put back	into
	  the ACTIVE state.

      logtype=type
	  Sets the type	of logging to be used on the volume. This change can
	  be applied only to volumes that are stopped and that have no ACTIVE
	  plexes. Allowed log types are	drl (logs the regions involved in all
	  volume writes), none (never does logging), and undef (never does
	  logging). If the logging type	is set to undef, a future volsd	aslog
	  or volplex att operation will	change it to drl. See the sections
	  FSGEN	AND GEN	USAGE TYPES and	RAID5 USAGE TYPE of the	volsd(8) and
	  volplex(8) reference pages for more information.

      loglen=size
	  Sets the size	for logs used with the volume. The size	value is a
	  standard Logical Storage Manager length number (see volintro(8)).

      startopts=volume_options
	  Sets options that are	applied	to the volume every time the volume
	  is started, independently of options specified with the volume
	  start	command. This is a set of comma-separated options of the same
	  form used with the -o	option.	At the present time, only the
	  delayrecover,	norecov, and verbose options can be applied to
	  volumes in this manner. Unrecognized or inappropriate	options	are
	  ignored.

  resync
      The resync operation examines the	named volumes. Volumes that have pos-
      sibly differing plex contents will be resynchronized to contain con-
      sistent data.  Any such volumes that are in the NEEDSYNC state will be
      recovered	using a	read/write-back	recovery mode and then put into	the
      ACTIVE state.

      Plexes in	the SYNC state may already be under recovery and the volume
      command will take	no action to recover them unless the command was
      invoked with the -o force	option.

RAID5 USAGE TYPE

  Limitations and extensions for the raid5 usage type consist of the follow-
  ing:

  init
      The raid5	usage type recognizes the following init_type operands for
      the volume init operation:

      active volume
	  Zeroes the RAID5 log plexes, if any, and makes the volume available
	  for use. The parity in the volume is marked as stale,	though no
	  parity resynchronization is performed; the volume is left with a
	  state	of NEEDSYNC.

      zero volume
	  Writes zeros to the RAID5 log	plexes,	if any,	and writes zeros to
	  the entire length of the volume. This	is achieved by issuing the
	  VOL_R5_ZERO ioctl for	the entire altitude of the volume. The volume
	  is left in the ACTIVE	state.

  start
      Starting an uninitialized	volume (one with a state of EMPTY) zeroes any
      RAID5 log	plexes and then	resynchronizes the parity of the volume	by
      issuing VOL_R5_RESYNC ioctls. All	subdisks are marked as non-stale and
      read-write.  The volume and RAID5	plex are then enabled and marked as
      ACTIVE, and all valid RAID5 log plexes are marked	as LOG.	If any RAID5
      log plex proves to be invalid (such as having its	NODAREC	flag set) its
      state is set to BADLOG.

      Starting a volume	that has been shut down	cleanly	or is not marked as
      dirty enables the	RAID5 plex and RAID5 log plexes	and sets the volume
      kernel state to detached,	to zero	the RAID5 log plexes for the volume,
      if any. Once this	is completed, all valid	RAID5 log plexes are set to
      LOG and the volume is enabled and	put in the ACTIVE state.

      Starting a volume	that was not shut down cleanly requires	that the par-
      ity be resynchronized. If	the volume has valid RAID5 log plexes, the
      volume is	first detached and has its state set to	REPLAY,	and all	log
      plexes and the RAID5 plex	are enabled. If	there are any valid RAID5 log
      plexes, their contents are read and their	data is	written	to the
      appropriate regions of the RAID5 plex. If	reading	the RAID5 logs fails,
      the logs are marked as invalid and the parity is resynchronized as if
      there were no logs. Once the replay is complete, the RAID5 logs are
      enabled and the volume is	enabled	and its	state is set to	ACTIVE.

      If the volume needs resynchronization and	no valid log plexes exist,
      the parity must be fully resynchronized. The volume is enabled and its
      state is set to RESYNC, and the RAID5 plex is enabled. If	usable RAID5
      plexes are available, but	contain	invalid	data, they are zeroed. The
      parity is	then resynchronized by issuing VOL_R5_RESYNC ioctls for	the
      entire length of the volume. Once	this is	completed, the volume's	state
      is set to	ACTIVE.	Any usable RAID5 logs are enabled and set to the LOG
      state.

      If a volume requires full	resynchronization (that	is, has	no usable
      logs) and	the RAID5 plex has stale or unusable subdisks, the volume is
      unusable and the start operation will fail. This can be overridden by
      using the	-f flag	or the -o force	option.	 In this case, any stale sub-
      disks are	marked as non-stale and	a full resynchronization is per-
      formed; however, this may	result in some invalid data being introduced
      into the volume. If multiple subdisks at the same	altitude in the	RAID5
      plex are unusable	(such as because they have their NODEVICE flag set),
      the volume is unusable and cannot	be overridden.

      Once any parity resynchronization	has been completed, any	subdisks
      still marked as stale are	recovered. This	is done	by marking the sub-
      disk as stale and	write-only and issuing VOL_R5_RECOVER ioctls to
      regenerate the data on the stale subdisks. The subdisk is	then marked
      as non-stale and read-write.

      If the -o	delayrecover option is specified, the only recoveries that
      will be performed	are log	replays. If the	volume requires	a parity
      resynchronization, it is enabled and left	in the NEEDSYNC	state, and
      its parity is marked as stale. No	subdisk	recoveries are performed, and
      the stale	subdisks are marked as stale.

      Normally,	if a volume has	no RAID5 logs, it will not be enabled with a
      stale subdisk or an unusable subdisk, because if the system crashed or
      the power	failed while the volume	was in use, the	parity could become
      stale and	the volume would be unusable. This behavior can	be overridden
      by specifying the	-o unsafe option, which	will cause the volume to be
      enabled during the above situations. As the name suggests, this is con-
      sidered unsafe because doing so could cause data loss.

      If only the -o delayrecover option is specified to start a volume	with
      a	stale subdisk or an unusable subdisk, the start	operation will fail.
      In this case, the	delayrecover option can	be ignored by also specifying
      the -o syncstartok option.

  stop
      Stopping a raid5 volume disables the volume and its associated plexes.
      If the volume is in the SYNC state, it is	changed	to the NEEDSYNC	state
      so that recovery will be performed at the	next start. Any	invalid	or
      detached RAID5 logs are set to the BADLOG	state so that they will	not
      be used during the next start.

      Normally,	the stop operation will	fail if	any extended operations	are
      using the	volume or any of its plexes. Such operations are detected as
      a	non-empty value	for the	tutil0 field in	a volume or plex record. If
      the -f option is specified, the stop operation ignores volume and	plex
      tutil0 fields.

  resync
      The resync operation examines the	named volumes to see if	they are
      enabled and if the parity	in any part of a volume	is stale; this is
      normally indicated by a volume state of NEEDSYNC.	If so, the volume is
      placed in	the SYNC state and VOL_R5_RESYNC ioctls	are issued to resyn-
      chronize the parity in those regions. Upon completion, the volume	is
      placed in	the ACTIVE state.

  set The attributes that can be set for raid5 volumes are:

      len=number
	  Changes the length of	the volumes specified to number	sectors. The
	  number parameter is a	standard Logical Storage Manager length
	  specification	(see volintro(8)). Decreasing the length of a volume
	  requires the -f option.

	  The volume length cannot be increased	such that the RAID5 plex is
	  sparse with respect to the new volume	length;	this would make	the
	  volume unusable.

	  To ensure that the new region	of the volume is consistent, the new
	  region of the	volume (from the old length to the new length) is
	  filled with zeros by issuing VOL_R5_ZERO ioctls before the length
	  is reset.

      loglen=size
	  Sets the size	of the RAID5 log for the volume. This cannot be	set
	  if the volume	has no logs. If	the length is being increased, the
	  operation will not be	allowed	if it would cause any of the RAID5
	  log plexes to	become sparse with respect to the new length.

      startopts=volume_options
	  Sets options that are	applied	to the volume every time the volume
	  is started, independently of options specified with the volume
	  start	command. This is a set of comma-separated options of the same
	  form used with the -o	option.	Unrecognized or	inappropriate options
	  are ignored.

EXIT CODES

  The volume utility exits with	a nonzero status if the	attempted operation
  fails. A nonzero exit	code is	not a complete indicator of the	problems
  encountered, but rather denotes the first condition that prevented further
  execution of the utility.

  See volintro(8) for a	list of	standard exit codes.


FILES

  /sbin/lsm.d/usetype/volume
      The utility that performs	volume operations for a	particular volume
      usage type.

  /dev/vol/group/volume
      The device node that can be used for mounting a file system created on
      the volume named volume in the disk group	named group.  Volumes in
      group rootdg are also directly under the /dev/vol	directory.

  /dev/rvol/group/volume
      The device node that can be used for issuing raw I/O requests and	also
      for issuing ioctl	requests to the	volume named volume in disk group
      named group. Volumes in group rootdg are also directly under the
      /dev/rvol	directory.

SEE ALSO

  volintro(8), volassist(8), volinfo(8), volmend(8), volplex(8), volre-
  cover(8)