The VxFS placement policy rule SELECT
statement designates the collection of files to which a rule applies.
The following XML snippet illustrates the general form of the SELECT
statement:
<DIRECTORY Flags="directory_flag_value">...value...
<PATTERN>...value...</PATTERN>
A SELECT
statement may designate files the following selection criteria:
One or more instances of any or all of the file selection criteria may be specified within a single SELECT
statement. If two or more selection criteria of different types are specified in a single statement, a file must satisfy one criterion of each type to be selected.
In the following example, only files that reside in either the ora/db
or the crash/dump
directory, and whose owner is either user1
or user2
are selected for possible action:
<DIRECTORY Flags="Nonrecursive">ora/db</DIRECTORY>
<DIRECTORY Flags="Nonrecursive">crash/dump</DIRECTORY>
A rule may include multiple SELECT
statements. If a file satisfies the selection criteria of one of the SELECT
statements, it is eligible for action.
In the following example, any files owned by either user1
or user2
, no matter in which directories they reside, as well as all files in the the ora/db
or crash/dump
directories, no matter which users own them, are eligible for action:
<DIRECTORY Flags="nonrecursive">ora/db</DIRECTORY>
<DIRECTORY Flags="nonrecursive">crash/dump</DIRECTORY>
When VxFS creates new files, VxFS applies active placement policy rules in the order of appearance in the active placement policy's XML source file. The first rule in which a SELECT
statement designates the file to be created determines the file's placement; no later rules apply. Similarly, VxFS scans the active policy rules on behalf of each file when relocates files, stopping the scan when VxFS reaches the first rule containing a SELECT
statement that designates the file. This is true even if the applicable rule results in no action. Take for example a policy rule that indicates that .dat
files inactive for 30 days should be relocated, and a later rule indicates that .dat
files larger than 10 megabytes should be relocated. A 20 megabyte .dat
file that has been inactive for 10 days will not be relocated because the earlier rule applied. The later rule is never scanned.
A placement policy rule's action statements apply to all files designated any of the rule's SELECT
statements. If an already-existing file is not designated by a SELECT
statement in any rule of a file system's active placement policy, then DST does not relocate or delete the file. If an application creates a file that is not designated by a SELECT
statement in a rule of the file system's active policy, VxFS places the file according to its own internal algorithms. If this behavior is inappropriate, the last rule in the policy document on which the file system's active placement policy is based should specify <PATTERN>*</PATTERN>
as the only selection criterion in its SELECT
statement, and a CREATE
statement naming the desired placement class for files not selected by other rules.