>Explain to me why ext3 is compiled as a module in the debian kernels
A better question would be why it's there at all, given that the ext4 driver is supposed to handle ext3 just as well (unless my understanding is wrong; that's quite possible). But it does make some sense - eg if you're using btrfs / (which I hear is all the rage these days, don'tcherknow) you likely have no need to read ext3 filesystems.
And having just looked at the result of lsmod to find out what ext? modules are loaded, I'm now wondering why I seem to have [at least] the following fs modules *all* loaded:
fuse, btrfs, ufs, qnx4, hfsplus, hfs, minix, ntfs, vfat, msdos, fat, jfs, xfs, exportfs, reiserfs, ext3, ext2, isofs, udf, ext4
Not to mention a bajillion other modules for hardware I don't have.
There is probably an "automagic partition type detection" (i.e. mount -t auto /dev/... /mnt) which will modprobe all these modules, hopefully one by one, until it finds the right filesystem for that partition. Do you have an unrecognised disk partition?
That is the usual problem with automagic things, at some point the system should assume failure, and not try to detect if I have soldered a new temperature controller semiconductor chip on my motherboard since I last powered it...
It is difficult to define the limit, and still work with the widest range of hardware - for instance, is the hard disk moved to another computer a supported scenario?