UBIFS: small amendments in the LEB scanning code
This patch fixes few minor things I've spotted while going through code: 1. Better document return codes 2. If 'ubifs_scan_a_node()' returns some thing we do not expect, treat this as an error. 3. Try to do recovery only when 'ubifs_scan()' returns %-EUCLEAN, not on any error. 4. If empty space starts at a non-aligned address, print a message. Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Reviewed-by: Adrian Hunter <Adrian.Hunter@nokia.com>
This commit is contained in:
@@ -837,9 +837,10 @@ static int replay_log_leb(struct ubifs_info *c, int lnum, int offs, void *sbuf)
|
||||
|
||||
dbg_mnt("replay log LEB %d:%d", lnum, offs);
|
||||
sleb = ubifs_scan(c, lnum, offs, sbuf);
|
||||
if (IS_ERR(sleb)) {
|
||||
if (c->need_recovery)
|
||||
sleb = ubifs_recover_log_leb(c, lnum, offs, sbuf);
|
||||
if (IS_ERR(sleb) ) {
|
||||
if (PTR_ERR(sleb) != -EUCLEAN || !c->need_recovery)
|
||||
return PTR_ERR(sleb);
|
||||
sleb = ubifs_recover_log_leb(c, lnum, offs, sbuf);
|
||||
if (IS_ERR(sleb))
|
||||
return PTR_ERR(sleb);
|
||||
}
|
||||
|
Reference in New Issue
Block a user