UBIFS switched to read-only mode after make_reservation warnings

Ivan Djelic ivan.djelic at parrot.com
Fri Apr 27 10:33:17 EDT 2012


On Tue, Apr 24, 2012 at 04:46:30PM +0100, Matteo Mattei wrote:
> Hi guys,
> 
> continuing the tests on UBI/UBIFS and power cyclings I have the
> following errors (dumping dmesg):
> 
> UBIFS warning (pid 776): make_reservation: too many space allocation
> re-tries (123)
> UBIFS warning (pid 776): make_reservation: too many space allocation
> re-tries (124)
> UBIFS warning (pid 776): make_reservation: too many space allocation
> re-tries (125)
> UBIFS warning (pid 776): make_reservation: too many space allocation
> re-tries (126)
> UBIFS warning (pid 776): make_reservation: too many space allocation
> re-tries (127)
> UBIFS warning (pid 776): make_reservation: too many space allocation
> re-tries (128)
> UBIFS error (pid 776): make_reservation: stuck in space allocation
> UBIFS error (pid 776): make_reservation: cannot reserve 4144 bytes in
> jhead 2, error -28
> UBIFS error (pid 776): do_writepage: cannot write page 2075 of inode
> 80294, error -28
> UBIFS warning (pid 776): ubifs_ro_mode: switched to read-only mode, error -28
> 
> It seems that there is not enough space for the journal...
> 
> This is the software and environment used:
> - linux kernel 2.6.32 (from TI)
> - ubifs backport (from git://git.infradead.org/~dedekind/ubifs-v2.6.32.git).
> - 8-bit BCH.
> - UBIFS mounted with no compression.
> - usage of ubiformat instead of flash_eraseall for the first
> filesystem initialization.
> 
> This is the hardware used:
> - CPU: OMAP3530.
> - NAND chips: Micron MT29F4G08ABBDAH4-IT.
> 
> 
> Do you have any idea on what happened and how to fix this?
> Which are the conditions that lead this behavior?

Hello Matteo,

Your trace only shows the end of the story; the interesting part is what happens
before: have blocks been marked bad, e.g. after a UBI torture ? What are MTD/UBI/UBIFS saying ?

If you are running power cycling tests, I suggest you keep a full log of the system
(from the initial boot with a pristine flash till the end of the test).

You could also analyze your target NAND flash, especially how many bad blocks and empty
blocks it currently has.

BTW, have you been able to run tests using my patch ?

BR,
-- 
Ivan



More information about the linux-mtd mailing list