This repository was archived by the owner on Aug 13, 2023. It is now read-only.

Description
When a WHO query is run through znc, for the entire time who responses are being received, ~5mbps of disk IO happens.
strace shows this (who on a channel with 975 members):
$ strace -c -p 23199
Process 23199 attached - interrupt to quit
^CProcess 23199 detached
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
97.04 0.028303 0 584939 write
1.40 0.000407 2 247 16 open
1.03 0.000300 1 231 close
0.42 0.000122 1 149 poll
0.07 0.000020 0 56 munmap
0.05 0.000015 0 477 read
0.00 0.000000 0 291 16 stat
0.00 0.000000 0 112 fstat
0.00 0.000000 0 56 lseek
0.00 0.000000 0 56 mmap
0.00 0.000000 0 350 fcntl
------ ----------- ----------- --------- --------- ----------------
100.00 0.029167 586964 32 total
The culprit seems to be an open("/data/znc/znc-data//users/RX14/networks/esper/moddata/clientbuffer/.registry", O_WRONLY|O_CREAT|O_TRUNC, 0600), followed by a crazy amount of write calls (15433 for a who on a channel with only 7 members).
See znc/znc#1275 for more details.