diff options
Diffstat (limited to 'fs/ubifs/io.c')
| -rw-r--r-- | fs/ubifs/io.c | 18 | 
1 files changed, 10 insertions, 8 deletions
diff --git a/fs/ubifs/io.c b/fs/ubifs/io.c index e18b9889a51..2290d586672 100644 --- a/fs/ubifs/io.c +++ b/fs/ubifs/io.c @@ -988,30 +988,32 @@ int ubifs_read_node(const struct ubifs_info *c, void *buf, int type, int len,  		return err;  	if (type != ch->node_type) { -		ubifs_err("bad node type (%d but expected %d)", -			  ch->node_type, type); +		ubifs_errc(c, "bad node type (%d but expected %d)", +			   ch->node_type, type);  		goto out;  	}  	err = ubifs_check_node(c, buf, lnum, offs, 0, 0);  	if (err) { -		ubifs_err("expected node type %d", type); +		ubifs_errc(c, "expected node type %d", type);  		return err;  	}  	l = le32_to_cpu(ch->len);  	if (l != len) { -		ubifs_err("bad node length %d, expected %d", l, len); +		ubifs_errc(c, "bad node length %d, expected %d", l, len);  		goto out;  	}  	return 0;  out: -	ubifs_err("bad node at LEB %d:%d, LEB mapping status %d", lnum, offs, -		  ubi_is_mapped(c->ubi, lnum)); -	ubifs_dump_node(c, buf); -	dump_stack(); +	ubifs_errc(c, "bad node at LEB %d:%d, LEB mapping status %d", lnum, +		   offs, ubi_is_mapped(c->ubi, lnum)); +	if (!c->probing) { +		ubifs_dump_node(c, buf); +		dump_stack(); +	}  	return -EINVAL;  }  | 
