It's actually worse than this. Not sure why. But I just created a 1G filesystem using ext4, and started creating 2048 byte files in it. I set the number of inodes to 513,000. And I get an -ENOSPC at 156979 files. At 100% efficiency, I would have expected 524288 files. Taking into account the 4k block size, I would have expected 262144. But I got less than 60% of that. And less than 30% storage efficiency overall.