[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: JFFS corruption




dvrabel@xxxxxxx.uk said:
>  kernel: Waiting for chip, status = 4 <-- from cfi_cmdset_0001.c
>  kernel: Didn't read all bytes in flash_safe_read() <-- from JFFS
> several times (all at the same time).  Don't know if this is relevant
> since it only occured once 24 hrs after.

Are you sending signals to the processes which are doing the testing?

The cfi_cmdset_0001.c code will return -EINTR if a signal arrives while 
it's waiting for the chip. JFFS doesn't handle that gracefully, although it 
shouldn't cause an error. We should probably make it sleep with 
TASK_UNINTERRUPTIBLE.

It'd also be interesting to know if you can reproduce it on an mtdram device, 
rather than on real flash. Obviously the power cycle can't be tested, but 
if it didn't happen during a power cycle, then that might not matter.

Take an image of the flash if you can, and try to look at it manually to 
see what happened to it.

--
dwmw2