Does UBI LEB-level access interlock happily with UBIfs access?
Atlant Schmidt
aschmidt at dekaresearch.com
Tue Sep 16 07:04:29 PDT 2014
Folks:
We use the ordinary MTD/UBI/UBIfs stack on our
Embedded Linux system.
For the purposes of scrubbing-out single bit errors,
I'd like to read through all of the LEBs stored in the
UBI device and whenever the ECC information indicates
that any correctable errors occurred, I'd like to
*RE-WRITE* that LEB (thereby forcing it to be scrubbed).
(Note: I might do this page-by-page rather than LEB-
by-LEB.)
But I would expect that because I'd have a hard
(impossible?) time doing an atomic read/re-write of a
LEB (or page), the UBIfs and my scrubber would interact
badly with my scrubber eventually corrupting the UBIfs
file system. Is there any easy way to interlock these
accesses (from the UBIfs and from my UBI-level scrubber)?
A way to temporarily suspend activity from the UBIfs?
One kludge that might work is that I'm operating in a
real-time environment. If I made my scrubbing requests
from a very high priority (higher than the "System"
tasks that run around Priority 50), could I be sure
my read + rewrite scrubbing requests would at least
enter the UBI's work queue immediately adjacent to
each other (and without UBIfs requests intermingled)?
Alternatively, I could probably dismount the UBIfs
before doing scrubbing, but I'd rather not have to
do that.
Atlant
This e-mail and the information, including any attachments it contains, are intended to be a confidential communication only to the person or entity to whom it is addressed and may contain information that is privileged. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please immediately notify the sender and destroy the original message.
Thank you.
Please consider the environment before printing this email.
More information about the linux-mtd
mailing list