I sent this patch once before for 2.4 kernels, here is the version for 2.6.8.1. This patch fixes the problem that huge inode cache can make invalidate_inodes() calls very long. Meanwhile lock_kernel() and inode_lock are being held and the system can freeze for seconds. I detected this problem on kernel with 4gb split. When inode cache was 2.5Gb (1,000,000 of inodes in cache) it took seconds to umount or turn quota off. So this patch introduces per-super block inode list which makes possible to scan sb's only inodes when doing umount. Signed-Off-By: Kirill Korotaev Kirill