I've been running various tests of ext4 partitions lately, and have found that with very low memory situations, I'm getting intermittent mount failures due to ENOMEM from ext4_mb_init() and ext4_fill_flex_info() . Here's a typical dmesg from the latter: EXT4-fs: not enough memory for 8198 flex groups EXT4-fs: unable to initialize flex_bg meta info! This is from a kzalloc() call of size ~64k . I think the ext4_mb_init() calls to kmalloc() and alloc_percpu() are even smaller. I was wondering why all the code in ext4 (and ext[23], for that matter) uses kmalloc() and friends instead of vmalloc(), at least where it's safe; is it just for performance reasons? I've seen the above errors when I do a mount -a, causing several partitions to be mounted; I can usually mount the failed ones by hand right afterwards, but this is a big difference for us, in our environment, compared to, say, ext2 partitions. Thanks, Curt -- 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