For Q_QUOTAON, on old kernel we can use quotacheck -ug to generate quota files. But in current kernel, we can also hide them in system inodes and indicate them by using "quota" or project feature. For user or group quota, we can do as below(etc ext4): mkfs.ext4 -F -o quota /dev/sda5 mount /dev/sda5 /mnt quotactl(QCMD(Q_QUOTAON, USRQUOTA), /dev/sda5, QFMT_VFS_V0, NULL); For project quota, we can do as below(etc ext4) mkfs.ext4 -F -o quota,project /dev/sda5 mount /dev/sda5 /mnt quotactl(QCMD(Q_QUOTAON, PRJQUOTA), /dev/sda5, QFMT_VFS_V0, NULL); Signed-off-by: Yang Xu <xuyang2018.jy@xxxxxxxxxxxxxx> --- man2/quotactl.2 | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/man2/quotactl.2 b/man2/quotactl.2 index e0d40a2be..b5abc64b2 100644 --- a/man2/quotactl.2 +++ b/man2/quotactl.2 @@ -117,7 +117,10 @@ argument points to the pathname of a file containing the quotas for the filesystem. The quota file must exist; it is normally created with the .BR quotacheck (8) -program. +program. It also can been stored as hidden system inode. In this case, there +are no visible quota files in filesystem and no need to use +.BR quotacheck (8) +program. This is indicated by 'quota' and 'project' features. This operation requires privilege .RB ( CAP_SYS_ADMIN ). .TP 8 @@ -638,7 +641,8 @@ The .I id argument is ignored. .TP -.B Q_XQUOTARM +.B Q_XQUOTARM (Since linux 3.16) +.\" 9da93f9b7cdf8ab28da6b364cdc1fafc8670b4dc Free the disk space taken by disk quotas. The .I addr argument should be a pointer to an -- 2.18.0