1#
2# CDDL HEADER START
3#
4# The contents of this file are subject to the terms of the
5# Common Development and Distribution License (the "License").
6# You may not use this file except in compliance with the License.
7#
8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9# or http://www.opensolaris.org/os/licensing.
10# See the License for the specific language governing permissions
11# and limitations under the License.
12#
13# When distributing Covered Code, include this CDDL HEADER in each
14# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15# If applicable, add the following below this CDDL HEADER, with the
16# fields enclosed by brackets "[]" replaced with your own identifying
17# information: Portions Copyright [yyyy] [name of copyright owner]
18#
19# CDDL HEADER END
20#
21
22# $FreeBSD$
23
24#
25# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
26# Use is subject to license terms.
27#
28# ident	"@(#)README.state	1.2	07/01/09 SMI"
29#
30#
31# For every configX.cfg file there must be a corresponding stateX.cfg
32# file. The state file both drives the operations to be performed on the
33# dataset hierarchy which has been specified by the corresponding
34# configX.cfg file, and also specifies the expected state of the
35# properties after the operation has been completed.
36#
37# The format of the file is:
38#       <target dataset>:<command>
39#       <property source before command>        <property src after command>
40#       <property source before command>        <property src after command>
41#       ....                                    ....
42#       ....                                    ....
43#
44# <target dataset> - dataset upon which the <command> is to be executed. Can
45#                    be any of the datasets specified in the corresponding
46#                    configX.cfg file. If no command is to be executed
47#                    then must be set to '-'
48#
49#
50# <command>        - command to be executed upon the specified dataset.
51#                    Currently the only supported commands are 'inherit'
52#                    or 'inherit -r'. If no command is to be executed,
53#                    then must be set to '-'.
54#
55# <property src before command>
56#                  - the 'source' (as reported in 'zfs get') for the
57#                    the properties before <command> is executed. This
58#                    can be 'default', 'local' or the name of a dataset
59#                    from which the property is inherited. (The code
60#                    automatically adds in the 'inherited from..' part
61#                    of the string when doing the check.
62#
63#                    This field is for informational purposes only, to
64#                    aid the user in seeing how the changes trickle down
65#                    the data hierarchy.
66#
67# <property src after command>
68#                  - the expected value of the 'source' field after the
69#                    <command> has been executed on the <target dataset>.
70#                    As above can be 'default', 'local', or the dataset
71#                    from which the property is inherited.
72#
73# Two important things to note:
74# 1) there must be a <property src..> line corresponding to each dataset
75#    line specified in the configX.cfg file.
76#
77#
78# 2) There can be as many <command>/<property src> blocks as desired, but
79#    there must be at least one, and the effect of each block is cumulative
80#    (i.e. the properties are not reset back to their default values between
81#    each block. If that is desired then each block must be placed in its
82#    own state file with its own corresponding configX.cfg file).
83#
84#
85# Below are two sample <command>/<property src> blocks.
86#
87# The first simply verifies that the properties on the top level dataset
88# were set locally, and that the middle and bottom datasets properties
89# were inherited from the top level pool (called TESTPOOL). Note the '-:-'
90# which means that no command is to be executed, but simply that the
91# properties settings are to be verified.
92#
93-:-
94#
95local                           local
96TESTPOOL                        TESTPOOL
97TESTPOOL                        TESTPOOL
98#
99#
100# The block below describes the expected state of the properties after
101# an 'inherit -r' command has been run on the top level pool (called
102# TESTPOOL).
103#
104TESTPOOL:inherit -r
105#
106local				default
107TESTPOOL			default
108TESTPOOL			default
109