3.2.1.2.1 Directory Quotas

For each directory quota, a minimal set of configuration and state properties is maintained by the server. The configuration of a directory quota consists of all of the information required to define the quota, and the state consists of the properties that are tracked in real time to maintain, enforce, and report on quota usage. A directory quota configuration is maintained only for objects with a path on a volume in the Volume List (section 3.2.1).

A Directory Quota is a type of FSRM Base Object (section 3.2.1.1) that has all the properties and state of a FSRM Base Object. The following configuration data is maintained for each directory quota on the system.

Directory Quota.Folder path: The quota configuration is associated with a particular folder on the server. If the folder is renamed, the quota configuration continues to be associated with the renamed folder with the same configuration and state as before the rename.

Quota limit: This property is the disk space usage limit, in number of bytes, above which the server will consider the quota exceeded or spent.

Quota limit mode: This property controls the behavior of the quota when the quota limit is reached. There are two modes available:

Hard quota: A hard quota will block file IO that exceeds the quota's limit from occurring and run any existing actions that are associated with a threshold for the quota's limit.

Soft quota: A soft quota will not block file IO that exceeds the quota's limit, but will run any existing actions that are associated with a threshold for the quota's limit.

Quota enable/disable: This property controls whether the quota usage is actively tracked and whether the quota limit is enforced.

Thresholds: A set consisting of between zero and sixteen (16) values, expressed as a percentage of the quota limit. A protocol client can initiate a change to a threshold value and can delete a threshold.

Notifications (Actions): Each threshold defined for a quota can have associated with it between zero and four actions that apply if the quota usage rises above the threshold value. A threshold can be associated with at most one notification of each of the four distinct FSRM notification types. See section 3.2.1.4 for more information. A protocol client can perform the following management operations involving quota notifications:

  • Create a notification for a specific threshold. See section 3.2.4.2.14.10 for more details.

  • Enumerate a list of all the notifications for a specific threshold. See section 3.2.4.2.14.11 for more details.

  • Change the configuration data of a notification for a specific threshold. For details, see sections 3.2.4.2.5, 3.2.4.2.6, 3.2.4.2.7, 3.2.4.2.8, and 3.2.4.2.9.

  • Delete a notification for a specific threshold. See section 3.2.4.2.4.5 for more details.

  • Change the Notification status for a notification for a specific threshold whenever required. See section 3.2.4.2.14.9 for more details.

Template id: If the quota configuration was copied from a quota template, this property is the ID of the directory quota template that the quota configuration was copied from.

Auto apply quota id: If the quota configuration was created by an auto apply quota, this property is the ID of the auto apply quota the quota configuration was created from.

The following state data is maintained for each directory quota on the system:

Notification status: This property tracks each notification for a specific threshold, if an event occurred when the Quota usage exceeded the specific threshold. This property is reset to denote that no event occurred for this notification whenever the Quota usage again falls below the specific threshold. This property is used to prevent repeated events for the same threshold violation. This property is tracked and saved internally by the server for each threshold in a notification.

Quota state: This property defines the states in which a quota can be found. There are three possible quota states:

Incomplete: A quota in this state is configured in a persistent manner to the system, but the procedure to calculate the current quota usage (the quota scan) has not yet started.

Rebuilding: A quota in this state is configured in a persistent manner to the system, but the procedure to calculate the current quota usage, though started, has not yet completed.

Complete: A quota in this state is configured in a persistent manner to the system, and the procedure to calculate the current quota usage has completed.

Quota usage: This property tracks the total disk space usage in the file system tree below the folder path including files, directories, streams, metadata, and other means of persistently storing data specific to file systems using implementation-specific mechanisms.

Peak quota usage: This property tracks the highest value that the quota usage property has ever reached. A client can request, through this protocol, that this value be reset to the current value of the quota usage.

Peak quota usage time stamp: This property maintains a time stamp that corresponds to the chronological date/time that the Peak quota usage was assigned a new value. The time stamp can reflect a change in value due to the quota usage reaching a new, higher peak level or due to a protocol client-initiated reset operation.