direct i/o problem with 2.4.20 and 2.4.21rc7
I have an application that requires direct i/o to thousands of files. On 2.4.19 the open's would eventually fail (at around 7200 files). On 2.4.20 and 2.4.21rc7 the machine hangs.
Here's a sample program to do the deed:
wget http://www.skarven.net/lda/crashme.c cc -o crashme crashme.c # compile it ./crashme 4000 # OK ./crashme 9999 # CRASH
It's a little obfuscated to eliminate the need for root privileges to mess with rlimit. It simply opens a bunch of files with O_DIRECT and, when enough files are open, the system will hang.
The system hangs when '/proc/slabinfo' reports that 'kiobuf' reaches just over 7230 active objects. I don't believe that this problem is specific to any particular file system as the failure occurs when using both ext2 and reiserfs.
Larry Auton