# Virtual File Systems (VFS) with quotas

The Virtual File System (VFS) introduced in Syncplify Server! v4.0 (and available in all subsequent versions) comes with a long-awaited feature: **quota management**.

<p class="callout warning">**IMPORTANT**: Syncplify Server! v4/v5 expressed their quotas in KB, while starting from Syncplify Server! v6 quotas are expressed in bytes.</p>

Now, the problem with quota management is that calculating the current size of a folder (along with its sub-folders) can be **very time-consuming** if the folder contains millions and millions of files. So if we were to re-evaluate the size to enforce quota restrictions at every operation it could totally kill the performances. A balanced solution is to have a **Quota TTL**, which is the Time-To-Live (TTL) of the quota cache, expressed in seconds. Basically, when Syncplify Server! calculates the current size of a folder structure, it will **consider such result valid for that many seconds**, without re-evaluating it too often.

[![image.png](https://kb.syncplify.com/uploads/images/gallery/2023-07/scaled-1680-/aQ0image.png)](https://kb.syncplify.com/uploads/images/gallery/2023-07/aQ0image.png)

We also support two kinds of quota:

1. **Soft Quota:** if the soft quota is exceeded during a file transfer, the file that’s currently being transferred will be allowed to finish uploading, and will be kept; the next file upload will be denied
2. **Hard Quota:** when this value is reached, any ongoing upload will be forcefully terminated and the partially uploaded file will be deleted; the next upload will be denied only if the soft quota has been exceeded

You may set limits for soft quota, hard quota, **or both**. If you don’t want a quota (soft or hard) to be enforced by a certain VFS, then leave its value to **0 (zero).**