 |
Index for Section 8 |
|
 |
Alphabetical listing for V |
|
voliod(8)
NAME
voliod - Start, stop, and report on Logical Storage Manager (LSM) kernel
daemons
SYNOPSIS
/sbin/voliod set count
/sbin/voliod logio volume_major/volume_minor|volume_path ...
/sbin/voliod stoplogio -e volume_major/volume_minor|volume_path ...
OPTIONS
The following options are used by voliod:
-n Do not print error messages that may be generated as a result of
starting a logio daemon twice on the same volume.
-f Force the kill of the last error daemon. Without this option, the error
daemons can only be reduced to one.
DESCRIPTION
The voliod utility starts, stops, or reports on Logical Storage Manager
error daemons and volume log I/O daemons. An error daemon is a process that
the volume driver uses for extended error-recovery and plex-recovery
operations. At least one error daemon is required by the volume driver to
process these recovery operations, with each error daemon serially
processing one error operation at a time. A volume log I/O daemon is used
by the Logical Storage Manager driver to schedule writes for volumes that
require logging.
OPERATION
When invoked with no arguments, /sbin/voliod prints the current number of
volume error daemons on the standard output.
When invoked with the set keyword, the number of daemons specified by count
will be created. If more volume error daemons exist than are specified by
count, then the excess processes will be terminated. If more than the
maximum number are created (currently 20), the requested number will be
silently truncated to that maximum.
The number of daemons to create for general I/O handling is dependent on
system load and usage. The daemons are only used in the event of volume
recoveries or errors. It is generally not necessary to start more than one
daemon for each CPU on the system. If volume recovery seems to proceed
slower at some times, then it may be worthwhile to create more daemons.
Each error daemon starts in the background and creates an asynchronously-
running process, which detaches itself from the controlling terminal and
becomes a volume error daemon. The voliod utility does not wait for these
processes to complete.
Logging daemons are created and killed automatically by vold, but if they
are not available for some reason, then they can be started manually using
the following procedure.
When invoked with the keyword logio, voliod creates a volume log I/O daemon
for the volume device or major/minor number pair specified in the operand
list. If specified as a device path, the path should point to the block
device file for the volume. This is usually specified as /dev/vol/... If
specified as a major/minor number pair, the major number should relate to
the block device major number of the Logical Storage Manager and the minor
number to the minor number of the volume.
The log I/O daemon is started in the foreground and will only return if it
is killed using the stoplogio option to voliod. When invoked with the
keyword stoplogio, voliod kills any logging daemons associated with the
specified volume device or major/minor number pair.
EXIT CODES
The voliod utility prints a diagnostic on the standard error, and exits if
an error is encountered. If an error occurs within a forked error daemon
process, then the error is not reflected in the exit status for voliod.
Otherwise, voliod returns a nonzero exit status on errors.
Usage errors result in an exit status of 1 and a usage message. If the
requested number of daemons cannot be created, then the exit status is 2,
and the number of daemons that were successfully started is reported. If
any other error occurs, the exit status is 3.
CAVEATS
If a /sbin/voliod logio command is issued in the foreground from the
command line, then the only way to release the session is to stop the
daemon using the /sbin/voliod stoplogio command.
NOTE
Volume log I/O daemons are created automatically by vold when they are
needed, and are killed automatically when they are no longer needed. Log
I/O daemons cannot be killed directly through the use of signals.
FILES
/dev/voliod
The device used to report on and start volume I/O daemon processes.
SEE ALSO
fork(2), volintro(8), vold(8), voldctl(8)