Implications of quotas for different protocols

Quotas can mean different things for different protocols. This section describes how quotas affect the SMB and NFS protocols.

Quotas are stored and enforced in the file system. See Managing GPFS quotas for details on how to enable and use quotas.
  • SMB protocol and quotas

    For SMB clients, quotas can limit the used and free space reported to clients:

    • Start of changeIf the SMB option gpfs:dfreequota is set, the SMB server queries the user quota for the current user and the group quota to determine the available space. The group quota queried is for the primary group of the current user, unless the query is for a directory with the SGID ("set group id") bit set, in which case the owning group from the directory is used for the group quota query. The reason here is that with the SGID bit set on a directory, new files and subdirectories are created with the owning group from the directory, not the primary group of the userEnd of change:
      • If the block limit is reached, the free space is reported as 0 and the size of the share is reported with the currently used data.
      • If the soft block quota is exceeded for longer than the block grace time, the free space is reported as 0 and the size of the share is reported with the currently used data.
      • If no limit is exceeded, the free space is reported as the free space according to the lowest quota limit.
      • If no quota is in place, the size and free space as queried from the underlying file system are reported.
      • In the case of per-fileset user and group quotas, the quotas are only queried from the root folder of the export. If a subdirectory inside the share is in a different fileset, the user and group quotas are not considered for the free space report.
      Note: For including fileset quotas in the reported free space, configure the underlying file system with the --filesetdf flag (in mmcrfs or mmchfs). It is not possible to query or change individual quotas from a SMB client system.
  • NFS protocol and quotas

    It is not possible to query or change individual quotas from an NFS client system. User and group quotas are not included in the reported free space to a client. To include fileset quotas in the reported space to a client, configure the underlying file system with the --filesetdf flag (in mmcrfs or mmchfs).

  • Object protocol and quotas
    • There are two applicable levels of quotas: The quotas in the file system (see Managing GPFS quotas) and the quotas managed by Swift.
    • Swift quotas can be used as account and container quotas. The quota values are set as account and container metadata entries. For more information, see the OpenStack Swift documentation.
    • When using file system quotas, it is important to consider that all objects stored by Swift are stored with the same owner and owning group (swift:swift).