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:
<SELECT> <DIRECTORY Flags="directory_flag_value"> value </DIRECTORY> <PATTERN Flags="pattern_flag_value"> value </PATTERN> <USER> value </USER> <GROUP> value </GROUP> </SELECT>
A SELECT statement may designate files by using 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:
<SELECT> <DIRECTORY Flags="nonrecursive">ora/db</DIRECTORY> <DIRECTORY Flags="nonrecursive">crash/dump</DIRECTORY> <USER>user1</USER> <USER>user2</USER> </SELECT>
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 ora/db
or crash/dump
directories, no matter which users own them, are eligible for action:
<SELECT> <DIRECTORY Flags="nonrecursive">ora/db</DIRECTORY> <DIRECTORY Flags="nonrecursive">crash/dump</DIRECTORY> </SELECT> <SELECT> <USER>user1</USER> <USER>user2</USER> </SELECT>
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 relocating files, stopping the rules scan when it reaches the first rule containing a SELECT statement that designates the file. This behavior holds 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 by any of the rule's SELECT statements. If an existing file is not designated by a SELECT statement in any rule of a file system's active placement policy, then SmartTier 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, then 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.