Is the quota approach still in use?
Yes it is. Since disks have grown in size,
quotas might not be of much worth to common users, but still find their usage in multi-user environment e.g. on servers. Android uses quotas on
f2fs to clear caches and and control per-app disk usage. In-kernel implementations as well as userspace tools are up-to-date.
Quota works with
aquota.user files in the concerned directories AND some settings in
/etc/fstab with options like
Linux disk quota works on per-filesystem basis, so
aquota.group) files are created in the root of concerned filesystem.
usrjquota=) mount option has to be passed when mounting filesystem. Or
quota filessytem feature has to be enabled when formatting or later using
I'm very surprised to see both quota and jquota set of options
jquota is evolution of
ext4(5): "Journaled quotas have the advantage that even after a crash no quota check is required."
jqfmt= specifies quota database file format. See more details in Difference between journaled and plain quota.
Are they backward compatible, deprecated, replaced?
No they are two different sets of mount options, not deprecated or replaced. Mount options are different and not compatible, either one of the two can be used. Journaled quota is only supported by version 2 quota files (
vfsv1), which can also be hidden files (associated to reserved inodes 3 and 4 on
quota filesystem feature is enabled. Version 1 quota file format (
vfsold) works with both. Also upgrading to journaled quota is not very complex, so backward compatibility doesn't matter much.
Could another approach use
cgroups to limit space access?
No. Control groups limit resource usage (e.g. processor, RAM, disk I/O, network traffic) on per process basis while files are saved on filesystems with UID/GID information. When a process accesses a file for reading or writing, kernel enforces DAC to allow or deny access by comparing process UID/GID with filesystem UID/GID. So it's quite simple to enforce quota limits at the same time as the filesystem always maintains total space usage on per-UID basis (when quota is enabled).
Are there other methods nowadays?
No. Or at least not very commonly known.