@@ -157,8 +157,11 @@ struct ubifs_scan_leb *ubifs_start_scan(const struct ubifs_info *c, int lnum,
return ERR_PTR(err);
}
- if (err == -EBADMSG)
- sleb->ecc = 1;
+ /*
+ * If err == -EBADMSG, we scan this leb first because we
+ * can detect corruptions by checking NODEs and return an
+ * error if it is really corruptted.
+ */
return sleb;
}
@@ -314,7 +314,6 @@ struct ubifs_scan_node {
* @nodes_cnt: number of nodes scanned
* @nodes: list of struct ubifs_scan_node
* @endpt: end point (and therefore the start of empty space)
- * @ecc: read returned -EBADMSG
* @buf: buffer containing entire LEB scanned
*/
struct ubifs_scan_leb {
@@ -322,7 +321,6 @@ struct ubifs_scan_leb {
int nodes_cnt;
struct list_head nodes;
int endpt;
- int ecc;
void *buf;
};
We set @ecc in ubifs_scan_leb only if leb_read returns EBADMSG and do not use it any more. This patch removes this variable and adds comments about EBADMSG handling. Signed-off-by: hujianyang <hujianyang@huawei.com> --- fs/ubifs/scan.c | 7 +++++-- fs/ubifs/ubifs.h | 2 -- 2 files changed, 5 insertions(+), 4 deletions(-)