Current File : //usr/share/lib/xml/dtd/volume-request.dtd
<?xml version="1.0" encoding="utf-8" ?>

<!--

   * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
   * Use is subject to license terms.
   *
   * ident	"%Z%%M%	%I%	%E% SMI"
   *
   * Describes the request for a new volume configuration used by
   * metassist(1M).
   *
   * See volume-request(4) for a detailed description of the syntax.
   -->
<!ELEMENT volume-request (diskset,(available|unavailable)*,hsp?,(concat|stripe|mirror|volume)*)>

<!--
   *****************************************************************
   *
   * Disk set definition
   *
   *****************************************************************
   -->

<!--
   * The new or existing disk set to use.  If the disk set does not
   * exist, it will be created.
   -->
<!ELEMENT diskset EMPTY>
<!ATTLIST diskset name CDATA #REQUIRED>


<!--
   *****************************************************************
   *
   * Available devices definition
   *
   *****************************************************************
   -->

<!--
   * Specify a controller, target, disk, or slice that may be used in
   * the construction of new SVM configuration.
   *
   * Disks specified herein should be:
   *
   *     1. part of the disk set named above
   *
   * or
   *
   *     2. unused and not belong to any disk set
   *
   * If a controller is specified, all slices on all disks on the
   * controller which match the above criteria are considered
   * available.
   *
   * If a target is specified, all slices on all disks on the target
   * which match the above criteria are considered available.
   *
   * If no available devices are specified, all disks on the system
   * which match the above criteria are considered available.
   -->
<!ELEMENT available EMPTY>
<!ATTLIST available name CDATA #REQUIRED>

<!--
   * Specify a controller, target, disk, or slice to exclude from the
   * available pool.
   -->
<!ELEMENT unavailable EMPTY>
<!ATTLIST unavailable name CDATA #REQUIRED>


<!--
   *****************************************************************
   *
   * Hot spare pool definition
   *
   *****************************************************************
   -->

<!--
   * Specify a new or existing hot spare pool for submirrors defined
   * in this request.  If a HSP is required by this request, and no
   * HSP is specified here, the first existing HSP in the above disk
   * set will be used instead.  If no HSPs exist, a new HSP will be
   * created.
   *
   * Optionally specify disks that can be used/excluded if new hot
   * spares must be created.
   -->
<!ELEMENT hsp ((available|unavailable)*)>

<!--
   * The name to assign to this hot spare pool.  If no name is
   * specified, a name will be chosen automatically.  No guarantees
   * are made about the algorithm used, except that the resulting name
   * will be one that is not currently in use.
   -->
<!ATTLIST hsp name CDATA #IMPLIED>

<!--
   *****************************************************************
   *
   * Slice definition
   *
   *****************************************************************
   -->

<!ELEMENT slice EMPTY>
<!ATTLIST slice name CDATA #REQUIRED>


<!--
   *****************************************************************
   *
   * Stripe definition
   *
   *****************************************************************
   -->

<!--
   * the following line should work, but fails xmllint for some reason
   *
   * <!ELEMENT stripe (slice*|(available|unavailable)*)>
   -->

<!--
   * Create a new top-level stripe either by specifying the underlying
   * components (slices and soft partitions) or by specifying the
   * required size and optional available/unavailable resources.
   -->
<!ELEMENT stripe ((available|unavailable)*,slice*)>

<!--
   * The volume name to assign to this stripe.  If no name is
   * specified, a name will be chosen automatically.  No guarantees
   * are made about the algorithm used, except that the resulting name
   * will be one that is not currently in use.
   -->
<!ATTLIST stripe name CDATA #IMPLIED>

<!--
   * The size of this stripe, in the format <value><units>, where
   * <units> is "KB", "MB", "GB", or "TB", and <value> is the
   * multiplier of the units.
   *
   * This attribute is ignored if the underlying components are
   * explicitly specified.
   -->
<!ATTLIST stripe size CDATA #IMPLIED>

<!--
   * Specify the minimum and maximum number of components (slices and
   * soft partitions) to use when constructing this stripe.
   *
   * The default value for mincomp is 4.
   *
   * The default value for maxcomp is 10.
   *
   * These attributes should not be specified if the underlying
   * components are explicitly specified.
   -->
<!ATTLIST stripe mincomp CDATA #IMPLIED>
<!ATTLIST stripe maxcomp CDATA #IMPLIED>

<!--
   * The interlace of this stripe, in the format <value><units>, where
   * <units> is "BLOCKS", "KB", or "MB", and <value> is the multiplier
   * of the units.
   *
   * The default value is 64KB.
   -->
<!ATTLIST stripe interlace CDATA #IMPLIED>

<!--
   * Boolean (TRUE or FALSE) indicating whether to use a HSP.
   *
   * This is only relevant if this stripe is a submirror, i.e. it is
   * defined within a <mirror> element.  If not, this attribute is
   * ignored.
   *
   * The default value is FALSE.
   -->
<!ATTLIST stripe usehsp (TRUE|FALSE) #IMPLIED>


<!--
   *****************************************************************
   *
   * Concat definition
   *
   *****************************************************************
   -->

<!--
   * the following line should work, but fails xmllint for some reason
   *
   * <!ELEMENT concat (slice+|(available|unavailable)*)>
   -->

<!--
   * Create a new concat either by specifying the underlying slices
   * and soft partitions or by specifying the required size and
   * optional available/unavailable resources.
   -->
<!ELEMENT concat ((available|unavailable)*,slice*)>

<!--
   * The volume name to assign to this concat.  If no name is
   * specified, a name will be chosen automatically.  No guarantees
   * are made about the algorithm used, except that the resulting name
   * will be one that is not currently in use.
   -->
<!ATTLIST concat name CDATA #IMPLIED>

<!--
   * The size of this concat, in the format <value><units>, where
   * <units> is "KB", "MB", "GB", or "TB", and <value> is the
   * multiplier of the units.
   *
   * This attribute is ignored if the underlying slices/soft
   * partitions are explicitly specified.
   -->
<!ATTLIST concat size CDATA #IMPLIED>

<!--
   * Boolean (TRUE or FALSE) indicating whether to use a HSP.
   *
   * This is only relevant if this concat is a submirror, i.e. it is
   * defined within a <mirror> element.  If not, this attribute is
   * ignored.
   *
   * The default value is FALSE.
   -->
<!ATTLIST concat usehsp (TRUE|FALSE) #IMPLIED>


<!--
   *****************************************************************
   *
   * Mirror definition
   *
   *****************************************************************
   -->

<!--
   * Create a new mirror either by specifying the underlying
   * submirrors or by specifying the required size and optional
   * available/unavailable resources.
   -->
<!ELEMENT mirror ((available|unavailable)*,(stripe|concat)*)>

<!--
   * The volume name to assign to this mirror.  If no name is
   * specified, a name will be chosen automatically.  No guarantees
   * are made about the algorithm used, except that the resulting name
   * will be one that is not currently in use.
   -->
<!ATTLIST mirror name CDATA #IMPLIED>

<!--
   * The number of submirrors under this mirror.  If this number
   * exceeds the number of explicitly specified submirrors, the
   * remaining submirrors will be created from the available
   * resources.
   *
   * The default value is 2.
   -->
<!ATTLIST mirror nsubmirrors CDATA #IMPLIED>

<!--
   * The size of this mirror, in the format <value><units>, where
   * <units> is "KB", "MB", "GB", or "TB", and <value> is the
   * multiplier of the units.
   *
   * This attribute is required if no submirrors are defined.
   -->
<!ATTLIST mirror size CDATA #IMPLIED>

<!--
   * Specify values for common mirror options.
   *
   * The default values are described in the metainint(1M) man page.
   -->
<!ATTLIST mirror read (ROUNDROBIN|GEOMETRIC|FIRST) #IMPLIED>
<!ATTLIST mirror write (PARALLEL|SERIAL) #IMPLIED>
<!ATTLIST mirror passnum CDATA #IMPLIED>

<!--
   * Boolean (TRUE or FALSE) indicating whether to use a HSP for each
   * submirror.  This can be overridden using the submirror's usehsp
   * attribute.
   *
   * The default value is FALSE.
   -->
<!ATTLIST mirror usehsp (TRUE|FALSE) #IMPLIED>



<!--
   *****************************************************************
   *
   * QoS volume definition
   *
   *****************************************************************
   -->

<!--
   * Create a volume defined by Quality of Service attributes.  The
   * default is to create a non-redundant volume.  In any case, high
   * performance is attempted.
   *
   * Translates to a stripe (non-redundant) or mirror of stripes
   * (redundant) for SVM.
   -->
<!ELEMENT volume ((available|unavailable)*)>

<!--
   * The name to assign to this volume.  If no name is specified, a
   * name will be chosen automatically.  No guarantees are made about
   * the algorithm used, except that the resulting name will be one
   * that is not currently in use.
   -->
<!ATTLIST volume name CDATA #IMPLIED>

<!--
   * The size of this mirror, in the format <value><units>, where
   * <units> is "KB", "MB", "GB", or "TB", and <value> is the
   * multiplier of the units.
   *
   * This attribute is required if no submirrors are defined.
   -->
<!ATTLIST volume size CDATA #REQUIRED>

<!--
   * Specify the redundancy level (0-4) of the data.
   *
   * If redundancy is 0, a stripe will be created.
   *
   * If redundancy is > 0, a mirror with this number of submirrors
   * will be created.  In this case, the volume can suffer a disk
   * failure on <n-1> copies without  data loss.  With the use of HSPs
   * (see the "faultrecovery" attribute), a volume can suffer a disk
   * failure on <n+hsps-1> volumes without data loss, assuming non-
   * concurrent failures.
   *
   * The default value is 0.
   -->
<!ATTLIST volume redundancy CDATA #IMPLIED>

<!--
   * Boolean (TRUE or FALSE) indicating whether to include fault
   * recovery.
   *
   * If this attribute is TRUE, a mirror will be created and its
   * submirror(s) will be associated with a HSP.
   *
   * The default value is FALSE.
   -->
<!ATTLIST volume faultrecovery (TRUE|FALSE) #IMPLIED>

<!--
   * Number of data paths through which to ensure the volume is
   * reachable.
   *
   * The default value is 1.
   -->
<!ATTLIST volume datapaths CDATA #IMPLIED>