On Mon, 2011-06-20 at 07:22 -0400, Atlant Schmidt wrote:
As far as I know (and I'm sure the list will correct
me if I'm wrong! ;-) ), neither UBI nor UBIFS nor any
Linux layer provides this routine scrubbing; you have
to code it up yourself, probably by accessing the
device at the UBI (underlying block device/LEB) layer.
UBI will scrub all LEBs with bit-flips once they are read.
But if you have bit-flips in an LEB and it is never read, it will never
be scrubbed. And erasures of the neighboring PEBs may turn bit-flips
into hard errors.
To force scrubbing, the easies way is to just read all volumes, like
dd if=/dev/ubi0_i of=/dev/null bs=4096
for each i.
--
Best Regards,
Artem Bityutskiy