[Dovecot] 1.0 roadmap - fs quota problem

Dumitru Negara dumitru at itcnetworks.ro
Mon Jun 12 17:56:50 EEST 2006


Timo Sirainen wrote:
> On Mon, 2006-06-12 at 17:12 +0300, Dumitru Negara wrote:
>> # repquota -u /dev/sda9
>
> Could you run it through strace and show me the quotactl() call it does?
> Or does it do a quotactl() call at all?
>
# strace -tt repquota -u /dev/sda9
17:44:30.978591 execve("/usr/sbin/repquota", ["repquota", "-u", 
"/dev/sda9"], [/* 20 vars */]) = 0
17:44:30.978804 uname({sys="Linux", node="debian", ...}) = 0
17:44:30.979041 brk(0)                  = 0x806b000
17:44:30.979112 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fcb000
17:44:30.979221 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such 
file or directory)
17:44:30.979341 open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No 
such file or directory)
17:44:30.979453 open("/etc/ld.so.cache", O_RDONLY) = 4
17:44:30.979539 fstat64(4, {st_mode=S_IFREG|0644, st_size=53743, ...}) = 0
17:44:30.979669 old_mmap(NULL, 53743, PROT_READ, MAP_PRIVATE, 4, 0) = 
0xb7fbd000
17:44:30.979788 close(4)                = 0
17:44:30.979850 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such 
file or directory)
17:44:30.979946 open("/lib/tls/libc.so.6", O_RDONLY) = 4
17:44:30.980041 read(4, 
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`Z\1\000"..., 512) = 512
17:44:30.980156 fstat64(4, {st_mode=S_IFREG|0755, st_size=1254660, ...}) = 0
17:44:30.980285 old_mmap(NULL, 1264972, PROT_READ|PROT_EXEC, 
MAP_PRIVATE, 4, 0) = 0xb7e88000
17:44:30.980412 old_mmap(0xb7fb2000, 36864, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED, 4, 0x129000) = 0xb7fb2000
17:44:30.980536 old_mmap(0xb7fbb000, 7500, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7fbb000
17:44:30.980663 close(4)                = 0
17:44:30.980754 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7e87000
17:44:30.980970 set_thread_area({entry_number:-1 -> 6, 
base_addr:0xb7e87460, limit:1048575, seg_32bit:1, contents:0, 
read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
17:44:30.981057 munmap(0xb7fbd000, 53743) = 0
17:44:30.981187 open("/usr/lib/locale/locale-archive", 
O_RDONLY|O_LARGEFILE) = 4
17:44:30.981293 fstat64(4, {st_mode=S_IFREG|0644, st_size=290576, ...}) = 0
17:44:30.981412 mmap2(NULL, 290576, PROT_READ, MAP_PRIVATE, 4, 0) = 
0xb7e40000
17:44:30.981502 close(4)                = 0
17:44:30.981583 brk(0)                  = 0x806b000
17:44:30.981636 brk(0x808c000)          = 0x808c000
17:44:30.981714 brk(0)                  = 0x808c000
17:44:30.981848 open("/etc/nsswitch.conf", O_RDONLY|O_LARGEFILE) = 4
17:44:30.982005 fstat64(4, {st_mode=S_IFREG|0644, st_size=465, ...}) = 0
17:44:30.982120 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fca000
17:44:30.982208 read(4, "# /etc/nsswitch.conf\n#\n# Example"..., 4096) = 465
17:44:30.982307 close(4)                = 0
17:44:30.982361 munmap(0xb7fca000, 4096) = 0
17:44:30.982459 rt_sigaction(SIGSEGV, {SIG_DFL}, {SIG_DFL}, 8) = 0
17:44:30.982567 stat64("/proc/fs/xfs/stat", {st_mode=S_IFREG|0444, 
st_size=0, ...}) = 0
17:44:30.982721 stat64("/proc/sys/fs/quota", {st_mode=S_IFDIR|0555, 
st_size=0, ...}) = 0
17:44:30.982871 rt_sigaction(SIGSEGV, {SIG_DFL}, NULL, 8) = 0
17:44:30.982958 open("/etc/mtab", O_RDONLY) = 4
17:44:30.983040 fstat64(4, {st_mode=S_IFREG|0644, st_size=355, ...}) = 0
17:44:30.983176 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fca000
17:44:30.983242 read(4, "/dev/sda1 / ext3 rw,errors=remou"..., 4096) = 355
17:44:30.983393 quotactl(Q_XGETQSTAT|USRQUOTA, "/dev/sda9", 0, 
0xbf89efd0) = 0
17:44:30.983482 lstat64("/home", {st_mode=S_IFDIR|0755, st_size=8192, 
...}) = 0
17:44:30.983608 statfs64("/home", 84, {f_type=0x58465342, f_bsize=4096, 
f_blocks=363377600, f_bfree=210609614, f_bavail=210609614, 
f_files=1453641472, f_ffree=1449674596, f_fsid={2057, 0}, f_namelen=255, 
f_frsize=4096}) = 0
17:44:30.983744 stat64("/dev/sda9", {st_mode=S_IFBLK|0660, 
st_rdev=makedev(8, 9), ...}) = 0
17:44:30.983959 stat64("/home", {st_mode=S_IFDIR|0755, st_size=8192, 
...}) = 0
17:44:30.984106 read(4, "", 4096)       = 0
17:44:30.984189 close(4)                = 0
17:44:30.984257 munmap(0xb7fca000, 4096) = 0
17:44:30.984318 stat64("/dev/sda9", {st_mode=S_IFBLK|0660, 
st_rdev=makedev(8, 9), ...}) = 0
17:44:30.984487 quotactl(Q_XGETQSTAT|USRQUOTA, "/dev/sda9", 0, 
0xbf8e10d0) = 0
17:44:30.984560 stat64("/dev/sda9", {st_mode=S_IFBLK|0660, 
st_rdev=makedev(8, 9), ...}) = 0
17:44:30.984703 quotactl(Q_XGETQSTAT|USRQUOTA, "/dev/sda9", 0, 
0xbf8e10d0) = 0
17:44:30.984793 open("/usr/share/locale/locale.alias", O_RDONLY) = 4
17:44:30.984887 fstat64(4, {st_mode=S_IFREG|0644, st_size=2539, ...}) = 0
17:44:30.985005 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fca000
17:44:30.985088 read(4, "# Locale name alias data base.\n#"..., 4096) = 2539
17:44:30.985241 read(4, "", 4096)       = 0
17:44:30.985298 close(4)                = 0
17:44:30.985352 munmap(0xb7fca000, 4096) = 0
17:44:30.985487 open("/usr/share/locale/en_RO/LC_MESSAGES/quota.mo", 
O_RDONLY) = -1 ENOENT (No such file or directory)
17:44:30.985594 open("/usr/share/locale/en/LC_MESSAGES/quota.mo", 
O_RDONLY) = -1 ENOENT (No such file or directory)
17:44:30.985710 open("/usr/share/locale/en_US/LC_MESSAGES/quota.mo", 
O_RDONLY) = -1 ENOENT (No such file or directory)
17:44:30.985821 open("/usr/share/locale/en_GB/LC_MESSAGES/quota.mo", 
O_RDONLY) = -1 ENOENT (No such file or directory)
17:44:30.985940 fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 
2), ...}) = 0
17:44:30.986077 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fca000
17:44:30.986164 write(1, "*** Report for user quotas on de"..., 47*** 
Report for user quotas on device /dev/sda9) = 47
17:44:30.986293 write(1, "Block grace time: 7days; Inode g"..., 49Block 
grace time: 7days; Inode grace time: 7days) = 49
17:44:30.986381 write(1, "                        Block li"..., 
64                        Block limits                File limits) = 64
17:44:30.986475 write(1, "User            used    soft    "..., 
71User            used    soft    hard  grace    used  soft  hard  
grace) = 71
17:44:30.986570 write(1, "--------------------------------"..., 
71----------------------------------------------------------------------) 
= 71
17:44:30.986669 open("/etc/nsswitch.conf", O_RDONLY) = 4
17:44:30.986788 fstat64(4, {st_mode=S_IFREG|0644, st_size=465, ...}) = 0
17:44:30.986940 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fc9000
17:44:30.987046 read(4, "# /etc/nsswitch.conf\n#\n# Example"..., 4096) = 465
17:44:30.987157 read(4, "", 4096)       = 0
17:44:30.987214 close(4)                = 0
17:44:30.987309 munmap(0xb7fc9000, 4096) = 0
17:44:30.987398 open("/etc/ld.so.cache", O_RDONLY) = 4
17:44:30.987470 fstat64(4, {st_mode=S_IFREG|0644, st_size=53743, ...}) = 0
17:44:30.987603 old_mmap(NULL, 53743, PROT_READ, MAP_PRIVATE, 4, 0) = 
0xb7e32000
17:44:30.987728 close(4)                = 0
17:44:30.987807 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such 
file or directory)
17:44:30.987928 open("/lib/tls/libnss_compat.so.2", O_RDONLY) = 4
17:44:30.988025 read(4, 
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000\22\0"..., 512) = 512
17:44:30.988138 fstat64(4, {st_mode=S_IFREG|0644, st_size=28616, ...}) = 0
17:44:30.988272 old_mmap(NULL, 31628, PROT_READ|PROT_EXEC, MAP_PRIVATE, 
4, 0) = 0xb7fc2000
17:44:30.988374 old_mmap(0xb7fc9000, 4096, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED, 4, 0x6000) = 0xb7fc9000
17:44:30.988507 close(4)                = 0
17:44:30.988572 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such 
file or directory)
17:44:30.988668 open("/lib/tls/libnsl.so.1", O_RDONLY) = 4
17:44:30.988762 read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 
<\0\000"..., 512) = 512
17:44:30.988881 fstat64(4, {st_mode=S_IFREG|0644, st_size=73304, ...}) = 0
17:44:30.989014 old_mmap(NULL, 80544, PROT_READ|PROT_EXEC, MAP_PRIVATE, 
4, 0) = 0xb7e1e000
17:44:30.989142 old_mmap(0xb7e2f000, 4096, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED, 4, 0x11000) = 0xb7e2f000
17:44:30.989265 old_mmap(0xb7e30000, 6816, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7e30000
17:44:30.989398 close(4)                = 0
17:44:30.989538 munmap(0xb7e32000, 53743) = 0
17:44:30.989639 open("/etc/ld.so.cache", O_RDONLY) = 4
17:44:30.989713 fstat64(4, {st_mode=S_IFREG|0644, st_size=53743, ...}) = 0
17:44:30.989826 old_mmap(NULL, 53743, PROT_READ, MAP_PRIVATE, 4, 0) = 
0xb7e32000
17:44:30.989938 close(4)                = 0
17:44:30.990010 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such 
file or directory)
17:44:30.990097 open("/lib/tls/libnss_nis.so.2", O_RDONLY) = 4
17:44:30.990182 read(4, 
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\34\0"..., 512) = 512
17:44:30.990304 fstat64(4, {st_mode=S_IFREG|0644, st_size=33440, ...}) = 0
17:44:30.990424 old_mmap(NULL, 36620, PROT_READ|PROT_EXEC, MAP_PRIVATE, 
4, 0) = 0xb7e15000
17:44:30.990520 old_mmap(0xb7e1d000, 4096, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED, 4, 0x7000) = 0xb7e1d000
17:44:30.990621 close(4)                = 0
17:44:30.990708 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such 
file or directory)
17:44:30.990816 open("/lib/tls/libnss_files.so.2", O_RDONLY) = 4
17:44:30.990898 read(4, 
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200\35"..., 512) = 512
17:44:30.990997 fstat64(4, {st_mode=S_IFREG|0644, st_size=34748, ...}) = 0
17:44:30.991117 old_mmap(NULL, 38044, PROT_READ|PROT_EXEC, MAP_PRIVATE, 
4, 0) = 0xb7e0b000
17:44:30.991234 old_mmap(0xb7e14000, 4096, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED, 4, 0x8000) = 0xb7e14000
17:44:30.991334 close(4)                = 0
17:44:30.991429 munmap(0xb7e32000, 53743) = 0
17:44:30.991525 open("/etc/passwd", O_RDONLY) = 4
17:44:30.991623 fcntl64(4, F_GETFD)     = 0
17:44:30.991679 fcntl64(4, F_SETFD, FD_CLOEXEC) = 0
17:44:30.991772 _llseek(4, 0, [0], SEEK_CUR) = 0
17:44:30.991859 fstat64(4, {st_mode=S_IFREG|0644, st_size=1363, ...}) = 0
17:44:30.991977 mmap2(NULL, 1363, PROT_READ, MAP_SHARED, 4, 0) = 0xb7fc1000
17:44:30.992071 _llseek(4, 1363, [1363], SEEK_SET) = 0
17:44:30.992169 quotactl(Q_XGETQUOTA|USRQUOTA, "/dev/sda9", 0, 
0xbf8e1090) = 0
17:44:30.992283 write(1, "root      -- 608085656       0  "..., 
73root      -- 608085656       0       0        3938317     0     0) = 73
17:44:30.992366 quotactl(Q_XGETQUOTA|USRQUOTA, "/dev/sda9", 1, 
0xbf8e1090) = -1 ENOENT (No such file or directory)
17:44:30.992461 quotactl(Q_XGETQUOTA|USRQUOTA, "/dev/sda9", 2, 
0xbf8e1090) = -1 ENOENT (No such file or directory)
17:44:30.992546 quotactl(Q_XGETQUOTA|USRQUOTA, "/dev/sda9", 3, 
0xbf8e1090) = -1 ENOENT (No such file or directory)
17:44:30.992628 quotactl(Q_XGETQUOTA|USRQUOTA, "/dev/sda9", 4, 
0xbf8e1090) = -1 ENOENT (No such file or directory)
17:44:30.992710 quotactl(Q_XGETQUOTA|USRQUOTA, "/dev/sda9", 5, 
0xbf8e1090) = -1 ENOENT (No such file or directory)
17:44:30.992791 quotactl(Q_XGETQUOTA|USRQUOTA, "/dev/sda9", 6, 
0xbf8e1090) = -1 ENOENT (No such file or directory)
17:44:30.992875 quotactl(Q_XGETQUOTA|USRQUOTA, "/dev/sda9", 7, 
0xbf8e1090) = -1 ENOENT (No such file or directory)
17:44:30.992977 quotactl(Q_XGETQUOTA|USRQUOTA, "/dev/sda9", 8, 
0xbf8e1090) = -1 ENOENT (No such file or directory)
17:44:30.993063 quotactl(Q_XGETQUOTA|USRQUOTA, "/dev/sda9", 9, 
0xbf8e1090) = -1 ENOENT (No such file or directory)
17:44:30.993148 quotactl(Q_XGETQUOTA|USRQUOTA, "/dev/sda9", 10, 
0xbf8e1090) = -1 ENOENT (No such file or directory)
17:44:30.993233 quotactl(Q_XGETQUOTA|USRQUOTA, "/dev/sda9", 13, 
0xbf8e1090) = -1 ENOENT (No such file or directory)
17:44:30.993314 quotactl(Q_XGETQUOTA|USRQUOTA, "/dev/sda9", 33, 
0xbf8e1090) = -1 ENOENT (No such file or directory)
17:44:30.993395 quotactl(Q_XGETQUOTA|USRQUOTA, "/dev/sda9", 34, 
0xbf8e1090) = -1 ENOENT (No such file or directory)
17:44:30.993500 quotactl(Q_XGETQUOTA|USRQUOTA, "/dev/sda9", 38, 
0xbf8e1090) = -1 ENOENT (No such file or directory)
17:44:30.993603 quotactl(Q_XGETQUOTA|USRQUOTA, "/dev/sda9", 39, 
0xbf8e1090) = -1 ENOENT (No such file or directory)
17:44:30.993686 quotactl(Q_XGETQUOTA|USRQUOTA, "/dev/sda9", 41, 
0xbf8e1090) = -1 ENOENT (No such file or directory)
17:44:30.993770 quotactl(Q_XGETQUOTA|USRQUOTA, "/dev/sda9", 65534, 
0xbf8e1090) = -1 ENOENT (No such file or directory)
17:44:30.993854 quotactl(Q_XGETQUOTA|USRQUOTA, "/dev/sda9", 102, 
0xbf8e1090) = -1 ENOENT (No such file or directory)
17:44:30.993960 quotactl(Q_XGETQUOTA|USRQUOTA, "/dev/sda9", 100, 
0xbf8e1090) = -1 ENOENT (No such file or directory)
17:44:30.994047 quotactl(Q_XGETQUOTA|USRQUOTA, "/dev/sda9", 101, 
0xbf8e1090) = -1 ENOENT (No such file or directory)
17:44:30.994146 quotactl(Q_XGETQUOTA|USRQUOTA, "/dev/sda9", 103, 
0xbf8e1090) = -1 ENOENT (No such file or directory)
17:44:30.994227 quotactl(Q_XGETQUOTA|USRQUOTA, "/dev/sda9", 106, 
0xbf8e1090) = -1 ENOENT (No such file or directory)
17:44:30.994308 quotactl(Q_XGETQUOTA|USRQUOTA, "/dev/sda9", 109, 
0xbf8e1090) = -1 ENOENT (No such file or directory)
17:44:30.994386 quotactl(Q_XGETQUOTA|USRQUOTA, "/dev/sda9", 104, 
0xbf8e1090) = -1 ENOENT (No such file or directory)
17:44:30.994489 quotactl(Q_XGETQUOTA|USRQUOTA, "/dev/sda9", 1000, 
0xbf8e1090) = -1 ENOENT (No such file or directory)
17:44:30.994575 quotactl(Q_XGETQUOTA|USRQUOTA, "/dev/sda9", 111, 
0xbf8e1090) = -1 ENOENT (No such file or directory)
17:44:30.994656 quotactl(Q_XGETQUOTA|USRQUOTA, "/dev/sda9", 105, 
0xbf8e1090) = -1 ENOENT (No such file or directory)
17:44:30.994739 quotactl(Q_XGETQUOTA|USRQUOTA, "/dev/sda9", 1048, 
0xbf8e1090) = 0
17:44:30.994863 write(1, "dumitru   -- 1964720 5242880 545"..., 
71dumitru   -- 1964720 5242880 5451776          28558     0     0) = 71
17:44:30.994946 quotactl(Q_XGETQUOTA|USRQUOTA, "/dev/sda9", 113, 
0xbf8e1090) = -1 ENOENT (No such file or directory)
17:44:30.995026 fstat64(4, {st_mode=S_IFREG|0644, st_size=1363, ...}) = 0
17:44:30.995170 munmap(0xb7fc1000, 1363) = 0
17:44:30.995227 close(4)                = 0
17:44:30.995286 write(1, "\n", 1)       = 1
17:44:30.995407 write(1, "\n", 1)       = 1
17:44:30.995482 munmap(0xb7fca000, 4096) = 0
17:44:30.995545 exit_group(0)           = ?
>> Jun 12 17:06:07 debian dovecot: IMAP(dumitru): quotactl(Q_GETQUOTA, 
>> /dev/sda9) failed: Invalid argument
>
> I guess this is wrong or something. I don't have quota enabled anywhere
> so I can't really test the code myself.

Regards,
Dumitru


More information about the dovecot mailing list