LFS-SETQUOTA(1) Lustre User Utilities LFS-SETQUOTA(1)

# [NAME](#NAME)

lfs-setquota - set quota limits or grace time for users, groups or projects.

# [SYNOPSIS](#SYNOPSIS)

lfs setquota {**-u**|**--user**|**-g**|**--group**|**-p**|**--projid**} **ID** \[**--pool** *POOL\_NAME*]

\[**-b**|**--block-softlimit *BLOCK\_SOFTLIMIT*\[*KMGTPE*]]**  
\[**-B**|**--block-hardlimit *BLOCK\_HARDLIMIT*\[*KMGTPE*]]**  
\[**-i**|**--inode-softlimit *INODE\_SOFTLIMIT*\[*KMGTPE*]]**  
\[**-I**|**--inode-hardlimit *INODE\_HARDLIMIT*\[*KMGTPE*]] *MOUNT\_POINT***

**lfs setquota** {**-U**|**--default-usr** | **-G**|**--default-grp** | **-P**|**--default-prj**}

\[**--pool** *POOL\_NAME*] \[**-b**|**--block-softlimit *BLOCK\_SOFTLIMIT*\[*KMGTPE*]]**  
\[**-B**|**--block-hardlimit *BLOCK\_HARDLIMIT*\[*KMGTPE*]]**  
\[**-i**|**--inode-softlimit *INODE\_SOFTLIMIT*\[*KMGTPE*]]**  
\[**-I**|**--inode-hardlimit *INODE\_HARDLIMIT*\[*KMGTPE*]] *MOUNT\_POINT***

**lfs setquota** {**-D**|**--default**} {**-u**|**--user** | **-g**|**--group** | **-p**|**--projid**} \[**--pool** *POOL\_NAME*] *ID MOUNT\_POINT*

**lfs setquota --delete** {**-u**|**--user** | **-g**|**--group** | **-p**|**--projid**} **ID MOUNT\_POINT**

**lfs setquota** {**-t**|**--times**} {**-u**|**-g**|**-p**} \[**--pool POOL\_NAME**]

\[**-b**|**--block-grace *BLOCK\_GRACE\_TIME*]**  
\[**-i**|**--inode-grace *INODE\_GRACE\_TIME*] *MOUNT\_POINT***

**lfs setquota --reset** {**-u**|**--user**|**-g**|**--group**|**-p**|**--projid**} **ID MOUNT\_POINT**

# [DESCRIPTION](#DESCRIPTION)

[**lfs setquota** {**-u**|**-g**|**-p**} ...](#lfs)

Command sets the filesystem quotas for the specified user, group, or project *ID* respectively.

Quota limits should be configured large enough so that each OST and MDT in the filesystem can allocate multiple of the minimum block and inode units. If the limits are set too low, applications may see EDQUOT (quota exceeded) errors before they can use a meaningful portion of their assigned quota due to fragmentation of the quota units across multiple targets.

Quota block limit enforcement is not strict, especially with cached writes, and as such minimum quota limits are recommended to be GiB in size to ensure the limit enforcement error is not a significant fraction of the quota itself.

[**lfs setquota** {**-U**|**-G**|**-P**} ...](#lfs~2)

Set the filesystem default limits for user, group, project quota type. If set, users/groups/projects without specific quota limits will use the default quota limits automatically.

[**lfs setquota --default** ...](#lfs~3)

Change the specified user, group, or project *ID* to use the default quota limits instead of explicitly specified limits. Such ID inherits new default quota limits, if they are changed.

[**lfs setquota --delete** ...](#lfs~4)

Delete the unused user, group, or project *ID* from the quota database so that it is no longer reported.

[**lfs setquota --reset**](#lfs~5)

Recalculate the quota accounting for the specified user, group, or project *ID* in case of inconsistencies in the aggregate quota stored in the main quota database.

[**lfs setquota --times ...**](#lfs~6)

Set the filesystem quota grace time for all users, groups, or projects for the block and inode limits. This is intended to allow users to exceed the quota limit for a short time to complete their work without having to grant each user a larger quota limit.

# [OPTIONS](#OPTIONS)

[**-b**, **--block-softlimit** ***BLOCK\_SOFTLIMIT***](#b)

Specify block softlimit, zero means unlimited. Block limits unit is kilobyte (1024) by default, and block limits are always kilobyte-granular (even if specified in bytes). Block limits can be specified with a **K**, **M**, **G**, **T**, **P**, or **E** suffix to specify units of 2^10, 2^20, 2^30, 2^40, 2^50 and 2^60 bytes respectively.

[**-B**, **--block-hardlimit** ***BLOCK\_HARDLIMIT***](#B)

Specify block hardlimit, zero means unlimited. The block hardlimit should be greater than the block softlimit if it is being specified.

[**-b**, **--block-grace** {**notify**|***BLOCK\_GRACE\_TIME*}**](#b~2)

Specify grace time for block quota in seconds, when used with **--times** option. The *BLOCK\_GRACE\_TIME* is a global value that can take two forms:

[*BLOCK\_GRACE\_TIME*](#BLOCK_GRACE_TIME)

indicates the time in seconds that the soft quota limit can be exceeded before users are prevented from creating new files or consuming more space. This is intended to allow users to exceed the quota limit for a short time to complete their work without having to grant each user a larger quota limit.

[**notify**](#notify)

informs users that are exceeding their soft quota limit ('**\***' in the quota output) that they are nearing their hard quota limit, but does not block new writes until the hard quota limit is reached. The soft quota state is reset once the user, group, or project reduces their space usage or file count below the soft quota limit. Grace time is specified in "XXwXXdXXhXXmXXs" format or as an integer seconds value. The maximum is 2^48 - 1 seconds.

[**--delete**](#delete)

Delete the unused user, group, or project *ID* limit from the quota database.

[**-D**, **--default**](#D)

Set the specified user/group/project *ID* to use the default quota limits.

[**-g**, **--group** ***GROUPNAME*|*GID***](#g)

Set group quota for name *GROUPNAME* or numeric *GID*.

[**-G**, **--default-grp**](#G)

Set default group quota limit.

[**-h**, **--help**](#h)

Print usage message.

[**-i**, **--inode-softlimit** ***INODE\_SOFTLIMIT***](#i)

Specify inode softlimit, zero means unlimited. It is recommended to specify inode limits in multiples of 1024.

[**-I**, **--inode-hardlimit** ***INODE\_HARDLIMIT***](#I)

Specify inode hardlimit, zero means unlimited. The inode hardlimit should be greater than inode softlimit when it's being specified.

[**-i**, **--inode-grace** {**notify**|***INODE\_GRACE\_TIME*}**](#i~2)

Specify grace time for inode quota in seconds, when used with **--times** option. See the **--block-grace-time** option for a detailed description of the *INODE\_GRACE\_TIME* argument.

[**-p**, **--projid** ***PROJECT\_NAME*|*PROJID***](#p)

Set project quota for *PROJECT\_NAME* (from the **/etc/projid**(5) file) or the numeric *PROJID*.

[**-P**, **--default-prj**](#P)

Set default project quota limit.

[**--pool** ***POOL\_NAME***](#pool)

Set quota per OST pool *POOL\_NAME*.

[**-r**, **--reset**](#r)

Reset the internal quota data of the user|group|project quota. It can be used to fix quota in an inconsistent database (such as quota grant).

[**-t**, **--times**](#t)

Set quota grace times.

[**-u**, **--user** ***USERNAME*|*UID***](#u)

Set user quota for *USERNAME* or numeric *UID*.

[**-U**, **--default-usr**](#U)

Set default user quota limit.

# [EXAMPLES](#EXAMPLES)

Set quotas of user \`bob': 8 TiB block hardlimit and 6 TiB block softlimit:

```
# lfs setquota -u bob --block-softlimit 6T --block-hardlimit 8T /mnt/lustre
```

Set quotas of user \`bob' to use default quota setting:

```
# lfs setquota -u bob --default /mnt/lustre
```

Set system default user quota 64 GiB block softlimit and 80 GiB block hardlimit:

```
# lfs setquota -U --block-softlimit 64G --block-hardlimit 80G /mnt/lustre
```

Set grace times for user quotas: 36000 seconds for block quotas, 1 week and 4 days for inode quotas:

```
# lfs setquota -t -u --block-grace 36000 --inode-grace 1w4d /mnt/lustre
```

Set hard block limit 1 TiB for user 'ivan' per pool 'flash\_pool':

```
# lfs setquota -u ivan --pool flash_pool -B 1T /mnt/lustre
```

Set grace time 10000 seconds for block quotas per pool 'flash\_pool':

```
# lfs setquota -t -u --block-grace 10000 --pool flash_pool /mnt/lustre
```

Delete unused user 'jack':

```
# lfs setquota -u jack --delete /mnt/lustre
```

Reset the quota usage for user 'chad' that is having problems:

```
# lfs setquota -u chad -r /mnt/lustre
```

# [AVAILABILITY](#AVAILABILITY)

The **lfs setquota** command is part of the [**lustre**(7)](/man/enterprise-packages/lustre/lustre.7) filesystem package since release 1.5.0.

# [SEE ALSO](#SEE_ALSO)

[**lfs**(1)](/man/enterprise-packages/lustre/lfs.1), [**lfs-project**(1)](/man/enterprise-packages/lustre/lfs-project.1), [**lfs-quota**(1)](/man/enterprise-packages/lustre/lfs-quota.1), [**mdt.enable\_chprojid\_gid**(4)](/man/enterprise-packages/lustre/mdt.enable_chprojid_gid.4)

2026-03-19 Lustre

---

Document: lfs-setquota(1) from lustre 2.17.60-r0 (Chainguard OS)
Source: https://github.com/lustre/lustre-release
