Emulated write failures cause block marking as bad
Artem Bityutskiy
dedekind1 at gmail.com
Thu Feb 4 12:33:14 EST 2010
Hi,
On Thu, 2010-02-04 at 18:02 +0100, Marek Skuczynski wrote:
> Hello,
> Today, I was trying to use debug option MTD_UBI_DEBUG_EMULATE_WRITE_FAILURES.
> What I have found is that occasionally, the emulated write error
> happens while
> executing sync_erase() function. In result of this, the part that
> is calling sync_erase()
> mark the block as bad (see log below).
> After a few minutes I had many bad blocks.
This is true.
> Using this option to
> volume update test
> makes no sense.
This is too strong statement. It does make sens - you verify that the
error handling functionality works.
You can say that this option is not good enough for you, this will be
more fair statement.
> I am using kernel 2.6.23 with updated UBI from 2.6.29.
> Have you experienced this problem already ? if so, is this has been fixed ?
Yes, I saw it. This is purely a debugging feature, and it was enough for
me.
You can easilly develop it a bit more, and make it stop returning erase
errors when the amount of bad eraseblocks has reached some level.
Just amend ubi_dbg_is_erase_failure()
You might want to do the same for 'ubi_dbg_is_write_failure()', for the
same reasons, basically.
HTH.
--
Best Regards,
Artem Bityutskiy (Артём Битюцкий)
More information about the linux-mtd
mailing list