Andre Noll <maan <at> systemlinux.org> writes: > > Here is a patch against the next branch that implements your idea. It > compiles without (additional) warnings on Linux/i386 and Linux/x86_64 > even with "make gcc-wall", and checkpatch.pl is also happy with > it. Moreover, it passes the test suite though this does probably not > prove much because the icount tests insert less than 8192 inodes, so > only one sub-array is created by these tests. I also ran the patched > e2fsck against a 100M toy file system containing many directories > and hard links and it seems to work fine. > > Most importantly, this version no longer exits due to failing memory > allocations while checking my problematic file system on the 32bit > box. Instead memory and swap usage increase steadily as new icount > sub-arrays are being allocated. Therefore I think the patch has real > benefits and is worth considering for inclusion. Please review. > > Note: Although the two-level tree approach avoids large reallocations, > for insertions it is as inefficient as the old sorted list method > because both the old and the new code move large amounts of memory > around in insert_icount_el(). This could be avoided by replacing the > sorted lists by a hash table, with open addressing and maybe double > hashing to deal with collisions. But for this to work out we'd need an > upper bound on the number of inodes to be inserted. So I like Ted's > proposal to store some information in the superblock that allows to > allocate a suitably sized structure up front. > > Thanks > Andre > --- Hi Andre We are trying to use e2fsck on a embedded system with almost 3GB of swap and 200MB of physical memory. e2fsck on a 16TB ext3 filesystem always appears to fail with the following error Pass 1D: Reconciling multiply-claimed blocks e2fsck: Memory allocation failed while retrying to read bitmaps for /dev/sda1 We have tried the patch you proposed, but still seeing the same failure. How can we get e2fsck to work on our memory constrained system. Thanks Mala. -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html