vol_pattern man page on DigitalUNIX

Man page or keyword search:  
man Server   12896 pages
apropos Keyword Search (all sections)
Output format
DigitalUNIX logo
[printable version]

vol_pattern(4)							vol_pattern(4)

NAME
       vol_pattern - Logical Storage Manager (LSM) search specifications

DESCRIPTION
       The  vol_pattern search expression language can be used in volprint and
       voledit, and with some Logical Storage Manager  support	library	 func‐
       tions,  to  locate  Logical  Storage Manager configuration records with
       particular characteristics.  Searches are limited to operation  on  one
       disk  group  at a time. Search expressions are limited to volume, plex,
       and subdisk records. Search  expressions	 cannot	 be  applied  to  disk
       group, disk media, or disk access records.

       Search  patterns	 provide  an  expression-based language for specifying
       record attributes. In simple cases,  patterns  can  be  specified  that
       match records whose fields have specific values. In more complex cases,
       records can be matched based on attributes of associated records.

       Search patterns are expressions that do	not  have  side	 effects  (for
       example,	 variables  cannot  be	set  or changed). Expressions evaluate
       either to true or false. If evaluation of an expression within the con‐
       text of a configuration record yields a value of true, then the expres‐
       sion matches the record; otherwise the expression does  not  match  the
       record.

       The  search pattern language does not have operators that cause changes
       to be made, and does not have a concept of local variables that can  be
       set and used within or between expressions.

   Types of Expressions
       Expressions  in	the  pattern  language	are  similar to expressions in
       awk(1).	Expressions can have the following types for constants,	 vari‐
       ables,  and  subexpressions: A Boolean variable or expression is either
       true or false. Numbers and strings can be used as truth values  if  the
       context	requires a Boolean value. For a number, zero implies false and
       nonzero implies true.  For a string, an empty string implies false  and
       a nonempty string implies true.	A string is a literal string in quotes
       or a character array field from a configuration record. Strings can  be
       implicitly  promoted to Boolean, but are never promoted to other types.
       For example, a string-valued field in a record that contains only  dig‐
       its  cannot  be	compared  with a number. String literals are described
       later.  A number is an integer quantity. The maximum size for a	number
       is  the	largest	 size  that  may  be  used for values in configuration
       records. In the reference porting base for the Logical Storage Manager,
       these numbers are 32 bit signed numbers.

	      Numbers  can be specified in decimal, octal, or hexadecimal with
	      a suffix to indicate the unit of the number when it indicates an
	      object  length  or  offset.   Hexadecimal numbers begin with 0x,
	      octal numbers begin with 0; otherwise numbers  are  in  decimal.
	      When  used as a length, numbers with no suffix are taken as sec‐
	      tors.

	      Defined suffix characters are: b for 512-byte blocks, s for sec‐
	      tors  (typically	512  bytes), k for kilobytes, m for megabytes,
	      and g for gigabytes. Suffix characters also can be specified  in
	      upper case.

	      Length  numbers  are  actually defined in terms of sectors. As a
	      result, on a system with 512 byte sectors, 1k is the same as  2.
	      Thus, the following expression tests for a record with 2 associ‐
	      ated records, rather than 1024 associated records: nassoc=1k  An
	      enumeration  field is a number that represents one of the values
	      for a field that has symbolic names. The vol_pattern  expression
	      grammar handles enumeration values exactly like numbers. Enumer‐
	      ations are usually useful only for comparing compatible enumera‐
	      tion  field and enumeration constants. For example, the enumera‐
	      tion field pl_layout is a number whose possible values are  rep‐
	      resented by the symbols CONCAT and STRIPE.  A regular expression
	      is a value, much like a regular expression in awk	 or  ed,  that
	      can  be  used to specify a pattern for matching strings. Regular
	      expressions can be used only in the context of the Boolean ~ and
	      !~  operators.  Each time a transaction is issued against a disk
	      group configuration, a 64-bit configuration sequence  number  is
	      increased.  When a configuration record is created or changed in
	      a transaction, the record	 is  stamped  with  the	 configuration
	      sequence number associated with that transaction.

	      When  a record is created, it is given a 64-bit record ID. These
	      record IDs are never reused within a disk group configuration.

	      Configuration sequence numbers and record IDs can	 be  specified
	      as  constants  of the form number.number, where both numbers are
	      specified in decimal.

	      Two higher-level types are also included,	 which	can  represent
	      multiple values of the same base type.

	      These  higher-level  types are: A set is a multi-valued variable
	      (an array).   Sets  are  normally	 used  within  the  right-hand
	      expression  for  the  any	 and  in operators. Reference to a set
	      expression yields all of the currently valid members of the set,
	      of  which there may be none.  A list is a set of expressions and
	      sets within parenthesis  that  are  separated  by	 commas.  List
	      expressions  can	be  used only for the right-hand expression of
	      the in operator.

   Expression Grammar
       A pattern is an expression with the following components and operators,
       in  increasing  order  of  precedence.  Groups  of  operators described
       together have the same precedence.  This is a  conditional  expression.
       Expression  expr1  is  evaluated	 as a Boolean value. If it has a truth
       value of true, then the value for the  conditional  expression  is  the
       value  of  expr2, otherwise the value for the conditional expression is
       the value of expr3.  The logical or  operator.  Expressions  expr1  and
       expr2  are  evaluated  as Boolean expressions. If either expr1 or expr2
       have a truth value of true, the	expression  is	true;  otherwise,  the
       value  of  the  expression is false.  The logical and operator. Expres‐
       sions expr1 and expr2 are evaluated as Boolean  expressions.   If  both
       expr1  and  expr2  have	a truth value of true, the expression is true;
       otherwise, the value of the expression is false.	 The  expression  expr
       is  evaluated  as a Boolean expression for all combinations of elements
       for all sets within expr that represent sets. If any of these  combina‐
       tions  yields  a truth value of true, then the value of the any expres‐
       sion is true; otherwise, the value is false.

	      For example, pl_sd is  a	set  defining  the  names  of  subdisk
	      records  that  are associated with a plex. The following expres‐
	      sion searches for plex records that have an  associated  subdisk
	      on  disk	disk01:	 any  pl_sd.sd_disk=disk01  Expression expr is
	      evaluated, and the resulting value is compared  to  all  of  the
	      values  in  list.	 If any of the values in list match expr, then
	      the value of the in expression is true; otherwise, the value  is
	      false.  The  list	 can  either  be  a list of expressions within
	      parentheses that are separated by commas, or it can be a	single
	      expression.   If	any of the expressions in list represent sets,
	      then the comparison is made against all combinations  of	values
	      in that set.

	      Type promotions are not performed on the expressions in list, or
	      on expr. Types for all these expressions must match exactly.

	      For example, the following expression searches for  plexes  that
	      have  either  a  regular	subdisk	 or  a subdisk on disk disk01:
	      disk01 in (pl_sd.sd_disk,pl_log_sd.sd_disk) The binary ~ and  !~
	      operators	 are  used  to	match  string values against a regular
	      expression. The value of expr must be a string. For the ~ opera‐
	      tor, if the value of expr matches the regular expression regexp,
	      then the value for the match expression is true;	otherwise  the
	      value  is false. For the !~ operator, if expr matches regexp the
	      result is false; otherwise the result is true.

	      The / character in the regular expression must be escaped with \
	      if it does not occur within a character range.

	      For example, to search for subdisks that are defined on a parti‐
	      tion of any device, use the  following  expressions:  sd_path  ~
	      /^\/dev\/[^/]*e/	 These	expressions  compare  string,  number,
	      sequence number, record ID, or Boolean values. If	 either	 expr1
	      or  expr2	 is  a	Boolean value, then the other is promoted to a
	      Boolean as well. For the = operator, if the two values are equal
	      then the result is true; otherwise, the result is false. For the
	      != operator, if the two values are equal,	 then  the  result  is
	      false; otherwise, the result is true.

	      For  consistency	with  awk(1)  and  many other languages, == is
	      allowed as an alias for the = operator.  These expressions  com‐
	      pare  the magnitudes of numbers or sequence numbers. They cannot
	      be applied to any other types of expressions. The	 result	 is  a
	      Boolean.	 These expressions add or subtract two numbers, yield‐
	      ing another number.  These expressions multiply, divide, or take
	      the modulo of two numbers, yielding another number.  The unary +
	      operator applied to any expression  yields  the  value  of  that
	      expression.  The unary - operator negates the value of a number-
	      valued expression expr.  The expression expr is evaluated	 as  a
	      Boolean expression. If its value is true, then the value for the
	      !	 expression is false; otherwise, the value for the !   expres‐
	      sion  is	true.	The  expression	 expr is evaluated as a string
	      expression. Its value is used as the name of  a  record  in  the
	      disk  group  configuration.  If  the  record exists, and if that
	      record contains a field named field-name, then the value of this
	      expression  is  the  value  in  that field within the referenced
	      record.  If the record does not exist, or if the record does not
	      contain  a field named field-name, then the behavior is context-
	      dependent.

	      If this occurs within the context of an any or in operator, then
	      the  next	 combination  of values for the right-hand side of the
	      any or in operator is evaluated.	If this occurs within the con‐
	      text  of	an  &&	or  ||	operator,  then the left or right-hand
	      expression of that operator yields  false,  whichever  side  the
	      operator	occurs	on.  The innermost any, in, &&, or || operator
	      determines the context.  If no such  context  exists,  then  the
	      result  of  the  entire  search pattern is that the record being
	      tested does not match the pattern.

	      The effect of this short-circuiting behavior is that an  expres‐
	      sion  that  is found not to make sense because a record does not
	      exist, or does not contain a specific  field,  will  cause  that
	      expression  to  be  false.   The	effect	is similar to implicit
	      asserts, which are described later in this section  under	 field
	      name.   Parentheses can be used to override precedence rules.  A
	      string, number,  sequence	 number,  or  record  ID  literal,  as
	      defined  in  the	section	 Types of Expressions.	An assert is a
	      special type of variable name that is true within the context of
	      a	 specific  type	 of record. Outside of that context, an assert
	      causes the expression that it is in to be false.	The  scope  of
	      an assert is the right or left-hand side of the smallest expres‐
	      sion within a || or && operator.	If an assert  does  not	 occur
	      within  a	 ||  or	 && operator, then the search pattern does not
	      match the record being evaluated. The names that specify asserts
	      are  vol,	 plex  and  sd, which specify volume, plex and subdisk
	      records, respectively.  There is a  set  of  symbolic  constants
	      that  can be specified in search patterns. For example, true and
	      false are the two truth values. Also, if a field within a record
	      has  a specific set of symbolic values, then these symbolic val‐
	      ues are available as numeric constants. See the  section	titled
	      Constants.  There is a small set of global variables that can be
	      referenced in search patterns. Such variables can be used within
	      any context. See the section titled Global Variables.  Referenc‐
	      ing the name of a field in a  configuration  record  yields  the
	      value of that field within the configuration record being evalu‐
	      ated.

	      Not all field names are defined for all record types. If a field
	      name  is	referenced  that  is  not  valid in the context of the
	      record type, then the smallest expression on either side of a &&
	      or  ||  operator	becomes false. This is an implicit assert. For
	      example, the following expression matches	 only  volume  records
	      because  the  v_kstate field is defined only for volume records:
	      v_kstate!=V_ENABLED

	      Some fields in a record make sense only if  another  field  con‐
	      tains  a	specific  value. For example, the pl_st_width field in
	      plex records is not defined unless the value  of	the  pl_layout
	      field is PL_STRIPE. These cases are treated as implicit asserts.

   Constants
       The  names of constants that are recognized within search patterns are:
       Constants representing Boolean true.   Constants	 representing  Boolean
       false.	The  enumeration  constants  that  represent  values  for  the
       v_read_pol field in volume records. The v_current_read_pol field can be
       set  to	ROUND  or PREFER. These constants can also be specified with a
       prefix of V_ to match  the  enumeration	values	in  the	 include  file
       sys/vol.h.   The	 enumeration  constants	 that represent values for the
       v_kstate field in volume and plex records.  These constants can also be
       specified  with	a prefix of V_ or PL_.	The enumeration constants that
       represent values for  the  v_r_all,  v_r_some,  v_w_all,	 and  v_w_some
       fields  in volume records. These constants can also be specified with a
       prefix of V_.  The enumeration constants that represent values for  the
       v_log_type  field  in  volume  records. These enumeration constants can
       also be specified with a prefix of V_PFLAG_ to  match  the  enumeration
       values  in  the include file sys/vol.h.	The enumeration constants that
       represent values for the pl_layout field in plex	 records.  These  con‐
       stants  can  also  be  specified with a prefix of PL_.  The enumeration
       constants that  represent  values  for  the  pl_iomode  field  in  plex
       records.	 These enumeration constants can also be specified with a pre‐
       fix of PL_TFLAG_ to match the values in	the  include  file  sys/vol.h.
       The  value  for a device number field indicating that the device number
       is undefined.

   Global Variables
       The global variables that can be used within search patterns  are:  The
       configuration  sequence	number	of  the disk group configuration.  The
       number of fields in a tutil or putil array in a volume, plex,  or  sub‐
       disk  structure.	 This is always 3, but it is treated as a global vari‐
       able anyway.

   Generic Fields
       Some fields can be found in all types of configuration  records.	 These
       fields  can  be referenced without a v_, pl_, or sd_ suffix, and do not
       generate implicit asserts. These fields can  be	used  either  to  name
       fields  in the record being evaluated, or as a field name reference for
       the operator.

       A generic field name can be specified with a prefix of v_, pl_, or  sd_
       to  indicate  that  implicit  asserts should be used and that the field
       requires a context of a volume, plex, or subdisk record,	 respectively.
       Currently,  use of a prefix for a generic field name is ignored for the
       right-hand side of a operator.

       The recognized generic field names are: A set of	 strings  representing
       all  of	the temporary utility fields.  A string representing the first
       temporary utility field.	 A string representing	the  second  temporary
       utility	field.	 A  string  representing  the  third temporary utility
       field.  A set of strings representing  all  of  the  permanent  utility
       fields.	 A  string  representing the first permanent utility field.  A
       string representing the second permanent utility field.	A string  rep‐
       resenting the third permanent utility field.  A string representing the
       record name.  A string representing the comment field.  A number repre‐
       senting	the  length  of	 the volume, plex or subdisk.  A Boolean value
       indicating whether the volume, plex, or subdisk is open. A  subdisk  is
       considered open if the volume or plex device for the subdisk is open. A
       plex is considered open only if the plex device is open.	 A  volume  is
       considered  open if the volume or one of its plex devices is open.  The
       record ID of the record being evaluated.	 The disk group	 configuration
       sequence	 number	 corresponding to the transaction that created or that
       last modified the record.   A  Boolean  value  indicating  whether  the
       record  is  locked in the current transaction of the caller. This vari‐
       able is not useful when used with volprint or voledit. It is useful for
       C programs only.

       Special	fields exist that do not obey the prefix convention, but apply
       to more than one type of record. These are: This is the name of a field
       to  which  a  record is associated. In the context of a plex or subdisk
       record, assoc yields the name of the volume or plex to which the record
       is  associated.	If the record is not associated, assoc yields an empty
       string. Use of assoc is not appropriate in  the	context	 of  a	volume
       record.	This causes an implicit assert when applied to a volume.  This
       is the set of associated record names. In the context of	 a  volume  or
       plex  record,  this  yields the names of the associated plexes and sub‐
       disks, of which there may be none. This is not appropriate in the  con‐
       text  of	 a subdisk record. This causes an implicit assert when applied
       to a subdisk.  This is the number of records in the  aslist  set.  This
       causes an implicit assert when applied to a subdisk.

   Volume Record Fields
       The  fields  that  can  be  specified for volume records are: A Boolean
       value indicating whether the record is locked within the current trans‐
       action of the caller.  A Boolean value indicating whether the volume is
       locked against I/O activity within the current transaction of the call‐
       er.   An enumeration field for the kernel-enabled state for the volume.
       This can have one of  the  following  values:  DISABLED,	 DETACHED,  or
       ENABLED.	  These	 are numbers that represent the exception policies for
       the volume. Each of these fields can have one of the  following	excep‐
       tion  policy  values:  NO_OP,  FAIL_OP,	DET_PL,	 FAIL_DET_PL, DET_VOL,
       FAIL_DET_VOL, GEN_DET, GEN_DET_SPARSE, GEN_FAIL, or GEN_DET2.  A number
       representing  a sequence number for the last error that occurred on the
       volume.	The sequence number of the last transaction that detached  the
       volume  due to a failure of some kind. This is also set when all copies
       of the dirty region log for the volume are detached by I/O failures.  A
       string  representing the usage type of the volume.  A string represent‐
       ing the file system type for the volume, as set by  the	administrator.
       A string representing the usage-type-dependent state for the volume.  A
       Boolean value indicating whether the writeback-on-read-error policy  is
       turned  on  for	the  volume.  This policy is set by default and can be
       turned off or back on using voledit. See voledit(8) for	more  informa‐
       tion.  A Boolean value indicating whether volume writes are copied to a
       private buffer  in  the	kernel	before	being  written	to  disk.  See
       voledit(8)  for	more  information.  A Boolean value indicating whether
       the value of v_writecopy was specified explicitly by the	 administrator
       using  volmake  or  voledit.  If	 v_specify_writecopy is false then the
       value for v_writecopy will be derived from  the	configuration  of  the
       volume:	v_writecopy  will  be  turned on if dirty region logging is in
       operation on the volume, and will be turned off	otherwise.   A	number
       representing  the number of plexes associated with the volume.  The set
       of plex names that are associated with the volume.  An enumeration rep‐
       resenting the read policy for the volume. This can be one of the values
       ROUND, PREFER, or SELECT. The value SELECT indicates that the read pol‐
       icy will be adjusted to match the configuration of the volume: if there
       is one associated striped plex, it will	be  preferred;	otherwise  the
       policy  will  be	 round-robin.  An enumeration representing the current
       read policy that is in effect for the  volume.  This  is	 the  same  as
       v_read_pol   unless   v_read_pol	  is  SELECT,  in  which  case	v_cur‐
       rent_read_pol matches the chosen policy.	  A  string  representing  the
       preferred  plex	for  the volume. This is defined only if the value for
       v_current_read_pol is PREFER. Otherwise, use of this variable causes an
       implicit assert.	 The record ID of the preferred plex.  A number repre‐
       senting the minor number of the volume  block  and  character  devices.
       This  is the persistent device number for the volume. If two volumes on
       the system have the same value for v_minor, then	 one  of  the  volumes
       will  be	 given	a  different device number, which will be reflected in
       v_bdev and v_cdev.  The block and character device numbers for the vol‐
       ume.   A Boolean value indicating whether the volume can use one of the
       reserved minor numbers (minor numbers zero through four). The root  and
       swap  usage  types  set this flag to allow them to grab minor numbers 0
       and 1 for the root and swap volumes, respectively.  A number represent‐
       ing  the user ID for the volume. There is currently no way to represent
       a user name in a search pattern.	 A number representing	the  group  ID
       for  the volume. There is currently no way to represent a group name in
       a search pattern.  A number representing the file permission modes  for
       the volume. There is currently no way to represent a symbolic mode in a
       search pattern.	A number representing the length  of  logs  associated
       with  the volume, if any.  An enumeration representing the logging type
       for the volume. This can have one of the following values: LOGUNDEF (no
       specific type specified), LOGNONE (no logging), or LOGDRL (dirty region
       logging).  A Boolean value that is true if logging is enabled  for  the
       volume.	Logging	 is  enabled  if  the volume is enabled, and it has at
       least one associated, enabled plex with an enabled, associated log sub‐
       disk.   Two  numbers  that  together represent the most significant and
       least significant long values for the current log serial number	for  a
       volume.	 The log serial number, represented as a combined binary inte‐
       ger, is incremented every time a new log is written for a  volume  that
       has logging enabled.  A Boolean value indicating that all dirty-region-
       log copies for the value were detached due to I/O failures.   A	string
       value  that  is	used by usage types to represent options to the volume
       start utility. See the usage-type-specific  volume(8)  reference	 pages
       for  more  information.	 A Boolean value indicating whether the volume
       was in use at the time of a system failure. This will not be set if the
       volume  was  not	 written  prior to the crash. This flag indicates that
       plex synchronization recovery is required for the volume.  v_active  is
       normally	 cleared  during system startup when the volume is started.  A
       Boolean	value  indicating  that	 read-writeback	 plex  synchronization
       recovery	 has  been started for the volume. This is normally set when a
       mirrored volume is started when the v_active flag was set.   A  Boolean
       value  indicating  whether  the	read-writeback	recovery mode is still
       enabled in the kernel. This flag is turned on when v_rwback  is	turned
       on,  but	 is cleared by the kernel when recovery for the volume is com‐
       plete.  A number indicating the	offset	within	the  volume  to	 where
       recovery	 has  completed.  A read operation on a volume performs a plex
       synchronization recovery if the read is after this point in the volume.
       A  read	that  occurs at the current read-writeback offset advances the
       offset to the end of the read. When the offset reaches the end  of  the
       volume,	recovery  is  complete	and v_krwback is turned off.  A number
       indicating the largest sector size, in bytes, of	 any  disk  associated
       with the volume.

   Plex Record Fields
       The  fields that can be specified for plex records are: A Boolean value
       that is true if the plex is compact. A plex is compact  if  its	entire
       length is mapped by subdisks, leaving no holes. Note that the length of
       a plex is computed as the length to the end of the last	block  in  the
       plex  address  space  that  is  mapped by a subdisk.  The offset to the
       first unmapped block in the plex. If the plex  is  compact,  this  will
       match  the  plex	 length.  If the plex is not compact, this will be the
       offset of the first hole in the plex.  An enumeration representing  the
       I/O  mode  of  the  plex. This can have one of the following values: RO
       (read-only), WO (write-only), or RW (read-write).  A Boolean value that
       is  true	 if  dirty  region logging is enabled for the plex.  A Boolean
       value that is true if one of the subdisks in the plex is defined	 on  a
       volatile disk.  Volatile disks are disks whose contents are not guaran‐
       teed to be preserved across a system reboot. Volatile disks can be cre‐
       ated  using  the nopriv disk type (see voldisk(8)).  An enumeration for
       the kernel enabled state for the plex. This can have one of the	values
       DISABLED, DETACHED or ENABLED.  A number representing a sequence number
       for the last error that occurred on the plex.   A  number  representing
       the  minor  number  of  the plex device. This will be -1 if the plex is
       dissociated.  A number representing  the	 device	 number	 of  the  plex
       device (a character device). This will be NODEV if the plex is dissoci‐
       ated.  A Boolean value that is true if the plex	is  accounted  for  in
       volume  error handling. If this is set, then I/O errors on the plex are
       ignored if they result from normal volume I/O.  The name of the associ‐
       ated volume. If the plex is not associated, this is an empty string.  A
       number representing the count of subdisks that are associated with  the
       plex.   A set containing the names of subdisks that are associated with
       the plex.  A string representing the usage-type-dependent state for the
       plex.   An  enumeration	representing the subdisk layout policy for the
       plex. This can be one of the values CONCAT or STRIPE to represent  con‐
       catenation or striping, respectively.  A number representing the stripe
       width for the plex. This is defined only if the value for the pl_layout
       field  in the plex is STRIPE. Otherwise, use of this variable causes an
       implicit assert.	 A string representing the name of a  subdisk  associ‐
       ated  with  the	plex  as a log subdisk. This string is empty if no log
       subdisk is associated with the plex.  A Boolean indicating whether  any
       subdisk	in  the	 plex  is  defined on a removed disk. See voldg(8) for
       information on removed disks.  A Boolean indicating whether any subdisk
       in the plex is defined on a failed disk. A failed disk is one where the
       underlying physical disk could not be found, or was detached by an  I/O
       failure.	  A  Boolean indicating whether a disk replacement or a tempo‐
       rary failure caused the plex to become disabled	and  out-of-date  with
       respect	to  the	 volume	 contents. Such plexes require recovery either
       from other plexes in the volume or from a  backup  of  the  volume.   A
       Boolean	indicating  that the plex was detached by the kernel due to an
       I/O failure. The stale and kdetach flags are normally both cleared dur‐
       ing  a  system reboot as part of starting the volume.  The record ID of
       the volume to which the plex is associated.  This will be  0.0  if  the
       plex is not associated.	The record ID of the log subdisk for the plex.
       This will be 0.0 if the plex has no  log	 subdisk.   The	 configuration
       sequence	 number of the disk group that was in effect when the plex was
       last detached or disabled due to an I/O failure or a disk failure.

   Subdisk Record Fields
       The fields that can be specified for subdisk records are: The  name  of
       the disk media record on which the subdisk is defined.  The disk access
       record underlying the disk media record of the subdisk.	This  will  be
       empty if the disk is currently failed or removed.  The device number of
       the device that the subdisk resides on. This number is a combination of
       the  major  and	minor number for the device. This will be NODEV if the
       underlying disk is removed or failed.  A string representing  the  path
       to  the device that the subdisk resides on.  The name of the associated
       plex. If the subdisk is not associated, this is	an  empty  string.   A
       number  representing the offset of the subdisk within the public region
       of the disk that the subdisk resides on.	  A  number  representing  the
       offset  of  the subdisk within the disk partition containing the public
       region for the disk. This can differ from sd_dm_offset  if  the	public
       region of the disk does not begin at the beginning of its partition.  A
       number representing the offset of the subdisk within the address	 space
       of the plex to which it is associated.  A Boolean value that is true if
       the subdisk is defined on a volatile disk. The contents of  a  volatile
       disk are not guaranteed to be preserved across a reboot. Volatile disks
       can be created using the nopriv disk type (see voldisk(8)).  A  Boolean
       value  indicating that this is a log subdisk for a plex.	 The record ID
       of the plex to which the subdisk is associated.	The record ID  of  the
       disk media record on which the subdisk is defined.

EXAMPLES
       The following example matches any plex or volume that does not have any
       associated subdisks or plexes. Because pl_nsd applies only  to  plexes,
       while v_nplex applies only to volumes, there is no ambiguity concerning
       which types of records can be matched by the expression.	 pl_nsd = 0 ||
       v_nplex	= 0 The following example matches all plexes and subdisks that
       have a comment field beginning with the string "Henry ".	 For  example,
       this  could be a convention describing ownership.  (plex || sd) && com‐
       ment ~ /^Henry/ The following example matches all volumes for which the
       preferred plex is striped: v_pref_name.pl_layout = STRIPE

	      Because  v_pref_name  is	defined	 only  for  volumes  that have
	      v_read_pol set to PREFER, the preceding expression is equivalent
	      to: vol && v_read_pol = PREFER && v_pref_name.pl_layout = STRIPE
	      The following example matches any volume that  contains  a  plex
	      with  a  subdisk	longer	than 100 megabytes: any v_plex.pl_sub‐
	      disk.sd_len > 100M

	      If an expression contains a set but does not use the any	or  in
	      operator,	 then  an  any	operator  is  assumed  to surround the
	      expression. Thus, the preceding example can  also	 be  specified
	      as:   v_plex.pl_subdisk.sd_len  >	 100M  The  following  example
	      matches any record that was changed in the most  recent  set  of
	      changes to the disk group: update_tid = config_tid

	      Alternatively, to get all records that have been changed since a
	      past disk group configuration (with a configuration  transaction
	      ID of 0.23482), use: update_tid > 0.23482

SEE ALSO
       awk(1), voldg(8), voledit(8), volintro(8), volmake(8), volprint(8)

								vol_pattern(4)
[top]

List of man pages available for DigitalUNIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net