What is wrong?
Brian Norris
computersforpeace at gmail.com
Wed Feb 26 20:11:48 EST 2014
Hi Leon,
On Wed, Feb 26, 2014 at 04:07:21PM +0200, Leon Pollak wrote:
> I use JFFS2 version 2.2.(NAND)(SUMMARY)(C) 2001-2006 Red Hat, Inc.
> (comes with MontaVistaPro 5.0). Kernel 2.6.18.
> I prepare JFFS2 partition with mkfs.jffs2 and sumtool and burn it with
> flash_eraseall and 'nandwrite -p'.
> Everything works fine.
>
> The NAND is write protected by HW and the partition is mounted as RO.
> At some moment I need to update a small file.
> So I do:
> - HW write protect off,
> - remount RW,
> - update file,
> - sync,
> - remount RO,
> - write protect on.
>
> Looking at linux console I see a lot of messages like:
> Erase at 0x00400000 failed immediately: errno -5
> Erase at 0x003e0000 failed immediately: errno -5
> ......
> Erase at 0x00340000 failed immediately: errno -5
> jffs2_flush_wbuf(): Write failed with -5
> Write of 2016 bytes at 0x002578a0 failed. returned -5, retlen 0
> Not marking the space at 0x002578a0 as dirty because the flash driver
> returned retlen zero.
>
>
> This is repeated for a long time, but everything seems work OK.
> The sequential starts and even file updates are also OK, without error
> messages.
>
> What do I do wrong? Thanks a lot.
It's possible you're seeing symptoms of this:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=807612db2f9940b9fa6deaef054eb16d51bd3e00
It seems like maybe JFFS2 is still doing some GC and/or write flushing
after the remount.
Could try this?
- HW write protect off,
- remount RW,
- update file,
- sync,
- remount RO,
- sync, <---------- add this, to see if you're experiencing any
writeback after remount
- write protect on.
Brian
More information about the linux-mtd
mailing list