LINUX.ORG.RU
решено ФорумAdmin

Проблема с квотами


0

0

Проблема следующего плана:

# /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).

★★★★★

quotacheck -m помог. Интересно, чем все-таки была вызвана проблема?

leave ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.