Re: CONFIG_EXT4_USE_FOR_EXT23 no space left on device

From: Jan Kara
Date: Thu Nov 28 2013 - 06:33:10 EST


On Thu 28-11-13 11:15:57, Geert Uytterhoeven wrote:
> On Wed, Nov 27, 2013 at 11:23 PM, Jan Kara <jack@xxxxxxx> wrote:
> > On Wed 27-11-13 16:50:14, Geert Uytterhoeven wrote:
> >> To reduce kernel size, I disabled both CONFIG_EXT2_FS and
> >> CONFIG_EXT3_FS, and enabled CONFIG_EXT4_USE_FOR_EXT23.
> >>
> >> Unfortunately the system behaves badly afterwards. It seems the file system
> >> is considered full: new files can be created, but no data can be written.
> >> Note that the file system is almost full, but root can still write more data
> >> using the real ext3 filesystem driver.
> >>
> >> This is a v3.13-rc1-ish kernel.
> >>
> >> Diff of dmesg and output of a few operations below:
> > Thanks for report. Maybe the easiest would be if you gathered fs metadata
> > using "e2image -r <fs-device>", compressed it and made it available for
> > download. We can then debug ourselves where the accounting goes wrong.
>
> Dump from the live image, so it needs journal recovery:
>
> http://users.telenet.be/geertu/Download/hda1.e2i.bz2
Thanks. So I had a look and the difference is in ext4 block reservation
logic. ext4 stores away some blocks as reserved so that it can use them
as a safety pool in case it really needs to finish some metadata operations
and there isn't enough free space (see commit
27dd43854227bb0e6ab70129bd21b60d396db2e7 for detailed description).

However this block reservation isn't really needed when fs doesn't support
extents. So I'll send a patch in a moment which fixes the problem for me.

Honza
--
Jan Kara <jack@xxxxxxx>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/