The UNCOMPRESS statement in a file placement policy rule specifies in-place file uncompression on multi-volume and single-volume file systems. The placement policy becomes assigned to the selected file, and allocation for the uncompressed extents is done from the tier specified in the <SOURCE> element of the <FROM> clause.
If a file is partially compressed, then the file can be picked only for in-place compression. After being compressed, the file will be uncompressed before being relocated in the next policy enforcement.
The following XML snippet illustrates the general form of the UNCOMPRESS statement:
<UNCOMPRESS> <FROM> <SOURCE> <CLASS> placement_class_name </CLASS> </SOURCE> <SOURCE> additional_placement_class_specifications </SOURCE> </FROM> <WHEN> uncompression_conditions </WHEN> </UNCOMPRESS>
A UNCOMPRESS statement contains the following clauses:
The following are the criteria that can be specified for the <WHEN> clause:
The following XML snippet illustrates the general form of the <WHEN> clause in a UNCOMPRESS statement:
<WHEN> <ACCAGE Units="units_value"> <MIN Flags="comparison_operator"> min_access_age</MIN> <MAX Flags="comparison_operator"> max_access_age</MAX> </ACCAGE> <MODAGE Units="units_value"> <MIN Flags="comparison_operator"> min_modification_age</MIN> <MAX Flags="comparison_operator"> max_modification_age</MAX> </MODAGE> <SIZE " Units="units_value"> <MIN Flags="comparison_operator"> min_size</MIN> <MAX Flags="comparison_operator"> max_size</MAX> </SIZE> <IOTEMP Type="read_write_preference" Prefer="temperature_preference"> <MIN Flags="comparison_operator"> min_I/O_temperature</MIN> <MAX Flags="comparison_operator"> max_I/O_temperature</MAX> <PERIOD Units="days_or_hours"> days_or_hours_of_interest </PERIOD> </IOTEMP> <ACCESSTEMP Type="read_write_preference" Prefer="temperature_preference"> <MIN Flags="comparison_operator"> min_access_temperature</MIN> <MAX Flags="comparison_operator"> max_access_temperature</MAX> <PERIOD Units="days_or_hours"> days_or_hours_of_interest </PERIOD> </ACCESSTEMP> </WHEN>
The access age (<ACCAGE>) element refers to the amount of time since a file was last accessed. VxFS computes access age by subtracting a file's time of last access, atime, from the time when the fsppadm enforce command was issued. The <MIN> and <MAX> XML elements in an <ACCAGE> clause, denote the minimum and maximum access age thresholds for uncompression, respectively. These elements are optional, but at least one must be included. Using the Units XML attribute, the <MIN> and <MAX> elements may be specified in the following units:
hours |
Hours |
days |
Days. A day is considered to be 24 hours prior to the time that the fsppadm enforce command was issued. |
Both the <MIN> and <MAX> elements require Flags attributes to direct their operation.
For <MIN>, the following Flags attributes values may be specified:
For <MAX>, the following Flags attributes values may be specified.
lt |
The time of last access must be less than the specified interval. |
lteq |
The time of last access must be less than or equal to the specified interval. |
Including a <MIN> element in a <WHEN> clause causes VxFS to uncompress files to which the rule applies that have been inactive for longer than the specified interval. Such a rule would typically be used to uncompress inactive files to less expensive storage tiers. Conversely, including <MAX> causes files accessed within the specified interval to be uncompressed. It would typically be used to move inactive files against which activity had recommenced to higher performance or more reliable storage. Including both <MIN> and <MAX> causes VxFS to uncompress files whose access age lies between the two.
The modification age uncompression criterion, <MODAGE>, is similar to access age, except that files' POSIX mtime values are used in computations. You would typically specify the <MODAGE> criterion to cause uncompression of recently modified files to higher performance or more reliable storage tiers in anticipation that the files would be accessed recurrently in the near future.
The file size uncompression criterion, <SIZE>, causes files to be uncompressed if the files are larger or smaller than the values specified in the <MIN> and <MAX> uncompression criteria, respectively, at the time that the fsppadm enforce command was issued. Specifying both criteria causes VxFS to schedule uncompression for files whose sizes lie between the two. Using the Units attribute, threshold file sizes may be specified in the following units: