5 Mar 11:15
Test code: make-many-files.c
Daniel Phillips <phillips <at> phunq.net>
2009-03-05 10:15:25 GMT
2009-03-05 10:15:25 GMT
Here is the test code Marcin found on the web. It makes a three level deep tree of directories containing 405,000 files, with 15,000 files per directory. Make the directory tree, and then rm -r. Repeat. Bad things happen, especially if the partition is about 4GB, which is 1GB less than the space required to complete the run. After a successful rm -r (it doesn't always succeed) then umount takes an unreasonably long time, which looks like an interaction between VFS and Tux3 where inode table blocks are getting re-dirtied and written out over and over again. This may have something to so with an explicit test in generic_flush_sb_inodes for whether it is the blockdev being flushed, which no long functions for us since we no longer use the blockdev, but a regular inode for our metadata blocks. The correct solution is probably to write our one inode flusher along the lines of generic_flush_sb_inodes, but doing exactly what we need it to do. Regards, Daniel
_______________________________________________ Tux3 mailing list Tux3 <at> tux3.org http://mailman.tux3.org/cgi-bin/mailman/listinfo/tux3
RSS Feed