unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (HP-UX-11.11)
Page:
Section:
Apropos / Subsearch:
optional field



 vxiod(7)			  VxVM 3.5			    vxiod(7)
				 1 Jun 2002



 NAME
      vxiod - VERITAS Volume Manager I/O daemon process control device

 DESCRIPTION
      The vxiod device in VERITAS Volume Manager (VxVM) is used to control
      the number of volume I/O daemons active on the system.  A process
      context is necessary to implement the plex consistency recovery and
      writeback error handling policies for multi-plex volumes, and for
      continuing normal I/O after a log write if the volume has logging
      enabled.	It is also required for the plex recovery performed with a
      mirrored volume in the read/writeback mode.

      There are three aspects of I/O daemon operations:

	   +	General I/O

	   +	Error handling

	   +	Log handling

      I/O handling is achieved by an ioctl command that does not return, but
      instead calls the vxiod routine to wait for errors or I/O requests and
      process them.  When an error occurs, if there are no I/O daemons
      active, the I/O simply turns into a failure on that plex.	 If a
      general I/O request is queued up when no daemons exist, then the I/O
      will hang forever until a daemon process is created.  If I/O daemons
      are active, then the I/O is put on a work queue and the daemons are
      awakened.	 A daemon takes an error request and tries to read other
      plexes until a read succeeds or all plexes have been tried.  Then, if
      the writeback facility is enabled, the daemon tries to write the good
      data to each plex that failed on the read.  If the write is
      successful, the read error is nullified.	An I/O request is handled in
      a similar manner.

      Logging is handled in a similar manner. An ioctl command, which does
      not return, is issued to create a daemon for each volume which has
      logging enabled. This daemon monitors two queues: one queue of I/O
      which was started while the log was busy (the ``log'' queue), and
      another queue of requests which have been logged and now need to be
      started (the ``ready'' queue).  I/O requests are taken from the log
      queue when the log is no longer busy, and another log write is
      started.	Completion of a log write results in all I/O requests which
      have just been logged being placed on the I/O daemon's ready queue
      where they are immediately started.

      One mechanism finds out how many I/O error daemons are running, and
      another mechanism allows a process to become an I/O daemon.  Before a
      process becomes an I/O daemon, it should close all open files and
      detach from the controlling tty.	An I/O or logging daemon cannot be
      killed except through an explicit ioctl.




				    - 1 -	  Formatted:  August 2, 2006






 vxiod(7)			  VxVM 3.5			    vxiod(7)
				 1 Jun 2002



 FILES
      /dev/vx/iod		    vxiod control device

 SEE ALSO
      vxiod(1M), ioctl(2)

















































				    - 2 -	  Formatted:  August 2, 2006