Skip to content

Commit

Permalink
UBI: rework scrubbing messages
Browse files Browse the repository at this point in the history
If bit-flips happen often, UBI prints to many messages. Lessen
the amount by only printing the messages when the PEB has been
scrubbed. Also, print torturing messages.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
  • Loading branch information
Artem Bityutskiy authored and Artem Bityutskiy committed Jul 24, 2008
1 parent f40ac9c commit 8c1e6ee
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 2 deletions.
8 changes: 7 additions & 1 deletion drivers/mtd/ubi/io.c
Original file line number Diff line number Diff line change
Expand Up @@ -156,8 +156,12 @@ int ubi_io_read(const struct ubi_device *ubi, void *buf, int pnum, int offset,
/*
* -EUCLEAN is reported if there was a bit-flip which
* was corrected, so this is harmless.
*
* We do not report about it here unless debugging is
* enabled. A corresponding message will be printed
* later, when it is has been scrubbed.
*/
ubi_msg("fixable bit-flip detected at PEB %d", pnum);
dbg_msg("fixable bit-flip detected at PEB %d", pnum);
ubi_assert(len == read);
return UBI_IO_BITFLIPS;
}
Expand Down Expand Up @@ -391,6 +395,7 @@ static int torture_peb(struct ubi_device *ubi, int pnum)
{
int err, i, patt_count;

ubi_msg("run torture test for PEB %d", pnum);
patt_count = ARRAY_SIZE(patterns);
ubi_assert(patt_count > 0);

Expand Down Expand Up @@ -434,6 +439,7 @@ static int torture_peb(struct ubi_device *ubi, int pnum)
}

err = patt_count;
ubi_msg("PEB %d passed torture test, do not mark it a bad", pnum);

out:
mutex_unlock(&ubi->buf_mutex);
Expand Down
6 changes: 5 additions & 1 deletion drivers/mtd/ubi/wl.c
Original file line number Diff line number Diff line change
Expand Up @@ -873,6 +873,10 @@ static int wear_leveling_worker(struct ubi_device *ubi, struct ubi_work *wrk,
}

ubi_free_vid_hdr(ubi, vid_hdr);
if (scrubbing && !protect)
ubi_msg("scrubbed PEB %d, data moved to PEB %d",
e1->pnum, e2->pnum);

spin_lock(&ubi->wl_lock);
if (protect)
prot_tree_add(ubi, e1, pe, protect);
Expand Down Expand Up @@ -1231,7 +1235,7 @@ int ubi_wl_scrub_peb(struct ubi_device *ubi, int pnum)
{
struct ubi_wl_entry *e;

ubi_msg("schedule PEB %d for scrubbing", pnum);
dbg_msg("schedule PEB %d for scrubbing", pnum);

retry:
spin_lock(&ubi->wl_lock);
Expand Down

0 comments on commit 8c1e6ee

Please sign in to comment.