determining if a block erasure failed

Artem Bityutskiy dedekind1 at gmail.com
Tue May 15 07:40:53 EDT 2012


On Tue, 2012-05-15 at 09:53 +0200, Joel Reardon wrote:
> I want the caller of erase_worker() to be aware if the erase block became
> bad. Here is the relevant code at the end of erase_worker():
> 
> /* at this time, the erase has failed. err == -EIO */
>         ubi_msg("mark PEB %d as bad", pnum);
>         err = ubi_io_mark_bad(ubi, pnum);
>         if (err)
>                 goto out_ro;
> 
> /* does other stuff, not touching err */
> 
> /* err == 0 here, because of above goto */
>         return err;
> 
> out_ro:
>         ubi_ro_mode(ubi);
>         return err;
> 
> 
> So, if this function should return zero when the erase block fails, then I
> will add a "result" field to ubi_work that will store the result of the
> work function. But I figured I'd check first if the return err that always
> returns 0 is not an oversight and this function should return -EIO if it
> fails.

Why do you need the results?

-- 
Best Regards,
Artem Bityutskiy
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part
URL: <http://lists.infradead.org/pipermail/linux-mtd/attachments/20120515/8de0dff8/attachment.sig>


More information about the linux-mtd mailing list