Проблема следующего плана:
# /usr/sbin/setquota -g 1191 0 512000 0 0 /dev/sda3
# edquota -g 1191
Disk quotas for group 1191 (gid 1191):
Filesystem blocks soft hard inodes soft hard
/dev/sda3 0 0 512000 0 0 0
# quota -g 1191
Disk quotas for group testgrp (gid 1191): none
Судя по выхлопу strace, quotactl() возвращает 0:
quotactl(Q_GETFMT|GRPQUOTA, "/dev/sda3", 0, {QFMT_VFS_V0}) = 0
quotactl(Q_GETINFO|GRPQUOTA, "/dev/sda3", 0, {bgrace=604800, igrace=604800, flags=0, valid=IIF_BGRACE|IIF_IGRACE|IIF_FLAGS}) = 0
geteuid() = 0
quotactl(Q_GETQUOTA|GRPQUOTA, "/dev/sda3", 1191, {bhardlimit=512000, bsoftlimit=0, curspace=0, ihardlimit=0, isoftlimit=0, curinodes=0, ...}) = 0
quotactl(Q_SETQUOTA|GRPQUOTA, "/dev/sda3", 1191, {bhardlimit=512000, bsoftlimit=0, curspace=0, ihardlimit=0, isoftlimit=0, curinodes=0, ...}) = 0
exit_group(0) = ?
Происходит описанное с тремя уже существующими группами и половиной создаваемых в тестовых целях. Если перед выполнением setguota сделать quotaoff -g /dev/sda3 , то в выводе strace получаем обычную запись в файл:
quotactl(Q_GETFMT|GRPQUOTA, "/dev/sda3", 0, 0x7fffffffe35c) = -1 ESRCH (No such process)
open("//aquota.group", O_RDONLY) = 3
lseek(3, 0, SEEK_SET) = 0
read(3, "'\31\300\331\0\0\0\0"..., 8) = 8
close(3) = 0
open("//aquota.group", O_RDWR) = 3
flock(3, LOCK_EX) = 0
lseek(3, 8, SEEK_SET) = 8
read(3, "\200:\t\0\200:\t\0\0\0\0\0\24\0\0\0\0\0\0\0\23\0\0\0"..., 24) = 24
geteuid() = 0
lseek(3, 1024, SEEK_SET) = 1024
read(3, "\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1024) = 1024
lseek(3, 2048, SEEK_SET) = 2048
read(3, "\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1024) = 1024
lseek(3, 3072, SEEK_SET) = 3072
read(3, "\4\0\0\0\n\0\0\0\0\0\0\0\6\0\0\0\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1024) = 1024
lseek(3, 7168, SEEK_SET) = 7168
read(3, "\10\0\0\0\10\0\0\0\t\0\0\0\t\0\0\0\0\0\0\0\v\0\0\0\v\0\0\0\f\0\0\0\0"..., 1024) = 1024
lseek(3, 19456, SEEK_SET) = 19456
read(3, "\0\0\0\0\0\0\0\0\17\0\0\0\0\0\0\0\232\4\0\0\0\0\0\0\0\0\0\0D\0\0\0\0"..., 1024) = 1024
lseek(3, 20000, SEEK_SET) = 20000
read(3, "\243\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\320\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 48) = 48
lseek(3, 20000, SEEK_SET) = 20000
write(3, "\243\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\320\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 48) = 48
flock(3, LOCK_UN) = 0
close(3) = 0
exit_group(0) = ?
Что это может быть и как пофиксить? quotacheck временно недоступен (до ночи не будет возможности перемонтировать раздел в r/o).