mtd, ubi: errormessage handling
Hello all,
as I just debugged a problem with ubi on cfi flashes [1], the question raised, if it would be a good idea to enable ubi error messages by default? I think, if we enable them by default, the error Andrew had, would be visible immediately:
with ubi errormessages [3]:
=> ubi part misc
UBI error: ubi_attach_mtd_dev: More than 64 PEBs are needed for fastmap, sorry.
UBI: default fastmap pool size: 8
UBI: default fastmap WL pool size: 25
UBI: attaching mtd1 to ubi0
UBI error: io_init: bad write buffer size 0 for 1 min. I/O unit UBI error: ubi_init: cannot attach mtd1
=>
without ubi errormessages:
=> ubi part misc
UBI: default fastmap pool size: 8
UBI: default fastmap WL pool size: 25
UBI: attaching mtd1 to ubi0
=>
The big con is the space needed for it. I tested on the tqm5200s board (current mainline).
without pr_err() enabled in "include/linux/mtd/mtd.h"
$ ls -al u-boot.bin -rwxrwxr-x 1 hs hs 469264 31. Okt 10:21 u-boot.bin
with pr_err() enabled:
$ ls -al u-boot.bin -rwxrwxr-x 1 hs hs 525584 31. Okt 10:23 u-boot.bin
-> 55k more space needed!!
So there are 2 questions:
a) Do we want to make "pr_err()" configurable seperately? (I vote for yes, proposal CONFIG_UBI_PRINT_ERRORS)
b) how would/should be the default setting?
(I vote for disabled)
bye,
Heiko
[1] ubi regression
http://lists.denx.de/pipermail/u-boot/2014-October/193098.html
[2] bugfix
Patchwork [U-Boot] mtd, cfi, ubi: add missing writebufsize initialization
http://patchwork.ozlabs.org/patch/405245/
[3] enabled ubi error messages patch
include/linux/mtd/mtd.h +2 -2
@@ -458,8 +458,8 @@ static inline void mtd_erase_callback(struct erase_info *instr)#endif /* CONFIG_MTD_DEBUG */ #define pr_info(args...) MTDDEBUG(MTD_DEBUG_LEVEL0, args) #define pr_warn(args...) MTDDEBUG(MTD_DEBUG_LEVEL0, args) -#define pr_err(args...) MTDDEBUG(MTD_DEBUG_LEVEL0, args) -#define pr_crit(args...) MTDDEBUG(MTD_DEBUG_LEVEL0, args) +#define pr_err(args...) printk(KERN_INFO args) +#define pr_crit(args...) printk(KERN_INFO args) #define pr_cont(args...) MTDDEBUG(MTD_DEBUG_LEVEL0, args) #define pr_notice(args...) MTDDEBUG(MTD_DEBUG_LEVEL0, args)#endif
Signature · 2 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany