UBI: block: Continue creating ubiblocks after an initialization error
authorDan Ehrenberg <dehrenberg@chromium.org>
Fri, 19 Dec 2014 19:27:18 +0000 (11:27 -0800)
committerRichard Weinberger <richard@nod.at>
Thu, 12 Feb 2015 22:29:25 +0000 (23:29 +0100)
commit1440061be128180a3846480d8b8bd24233edcd2f
tree11eb08dcccd6ac008c935568bf6d32827c3b5122
parent88cff0f0fbcf64cb6c2fbad6cf57e2725475d0ee
UBI: block: Continue creating ubiblocks after an initialization error

If one ubi volume is corrupted but another is not, it should be
possible to initialize that ubiblock from a kernel commandline which
includes both of them. This patch changes the error handling behavior
in initializing ubiblock to ensure that all parameters are attempted
even if one fails. If there is a failure, it is logged on dmesg.
It also makes error messages more descriptive by including the
name of the UBI volume that failed.

Tested: Formatted ubi volume /dev/ubi5_0 in a corrupt way and
dev/ubi3_0 properly and included "ubi.block=5,0 ubi.block=3,0" on
the kernel command line. At boot, I see the following in the console:
[   21.082420] UBI error: ubiblock_create_from_param: block: can't open volume on ubi5_0, err=-19
[   21.084268] UBI: ubiblock3_0 created from ubi3:0(rootfs)

Signed-off-by: Dan Ehrenberg <dehrenberg@chromium.org>
Reviewed-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Signed-off-by: Richard Weinberger <richard@nod.at>
drivers/mtd/ubi/block.c