UBIFS: extend debug/message capabilities
[cascardo/linux.git] / fs / ubifs / recovery.c
index 13ca4db..695fc71 100644 (file)
@@ -305,7 +305,7 @@ int ubifs_recover_master_node(struct ubifs_info *c)
                mst = mst2;
        }
 
-       ubifs_msg("recovered master node from LEB %d",
+       ubifs_msg(c, "recovered master node from LEB %d",
                  (mst == mst1 ? UBIFS_MST_LNUM : UBIFS_MST_LNUM + 1));
 
        memcpy(c->mst_node, mst, UBIFS_MST_NODE_SZ);
@@ -360,13 +360,13 @@ int ubifs_recover_master_node(struct ubifs_info *c)
 out_err:
        err = -EINVAL;
 out_free:
-       ubifs_err("failed to recover master node");
+       ubifs_err(c, "failed to recover master node");
        if (mst1) {
-               ubifs_err("dumping first master node");
+               ubifs_err(c, "dumping first master node");
                ubifs_dump_node(c, mst1);
        }
        if (mst2) {
-               ubifs_err("dumping second master node");
+               ubifs_err(c, "dumping second master node");
                ubifs_dump_node(c, mst2);
        }
        vfree(buf2);
@@ -682,7 +682,7 @@ struct ubifs_scan_leb *ubifs_recover_leb(struct ubifs_info *c, int lnum,
                                  ret, lnum, offs);
                        break;
                } else {
-                       ubifs_err("unexpected return value %d", ret);
+                       ubifs_err(c, "unexpected return value %d", ret);
                        err = -EINVAL;
                        goto error;
                }
@@ -702,7 +702,7 @@ struct ubifs_scan_leb *ubifs_recover_leb(struct ubifs_info *c, int lnum,
                         * See header comment for this file for more
                         * explanations about the reasons we have this check.
                         */
-                       ubifs_err("corrupt empty space LEB %d:%d, corruption starts at %d",
+                       ubifs_err(c, "corrupt empty space LEB %d:%d, corruption starts at %d",
                                  lnum, offs, corruption);
                        /* Make sure we dump interesting non-0xFF data */
                        offs += corruption;
@@ -788,13 +788,13 @@ struct ubifs_scan_leb *ubifs_recover_leb(struct ubifs_info *c, int lnum,
 
 corrupted_rescan:
        /* Re-scan the corrupted data with verbose messages */
-       ubifs_err("corruption %d", ret);
+       ubifs_err(c, "corruption %d", ret);
        ubifs_scan_a_node(c, buf, len, lnum, offs, 1);
 corrupted:
        ubifs_scanned_corruption(c, lnum, offs, buf);
        err = -EUCLEAN;
 error:
-       ubifs_err("LEB %d scanning failed", lnum);
+       ubifs_err(c, "LEB %d scanning failed", lnum);
        ubifs_scan_destroy(sleb);
        return ERR_PTR(err);
 }
@@ -826,15 +826,15 @@ static int get_cs_sqnum(struct ubifs_info *c, int lnum, int offs,
                goto out_free;
        ret = ubifs_scan_a_node(c, cs_node, UBIFS_CS_NODE_SZ, lnum, offs, 0);
        if (ret != SCANNED_A_NODE) {
-               ubifs_err("Not a valid node");
+               ubifs_err(c, "Not a valid node");
                goto out_err;
        }
        if (cs_node->ch.node_type != UBIFS_CS_NODE) {
-               ubifs_err("Node a CS node, type is %d", cs_node->ch.node_type);
+               ubifs_err(c, "Node a CS node, type is %d", cs_node->ch.node_type);
                goto out_err;
        }
        if (le64_to_cpu(cs_node->cmt_no) != c->cmt_no) {
-               ubifs_err("CS node cmt_no %llu != current cmt_no %llu",
+               ubifs_err(c, "CS node cmt_no %llu != current cmt_no %llu",
                          (unsigned long long)le64_to_cpu(cs_node->cmt_no),
                          c->cmt_no);
                goto out_err;
@@ -847,7 +847,7 @@ static int get_cs_sqnum(struct ubifs_info *c, int lnum, int offs,
 out_err:
        err = -EINVAL;
 out_free:
-       ubifs_err("failed to get CS sqnum");
+       ubifs_err(c, "failed to get CS sqnum");
        kfree(cs_node);
        return err;
 }
@@ -899,7 +899,7 @@ struct ubifs_scan_leb *ubifs_recover_log_leb(struct ubifs_info *c, int lnum,
                                }
                        }
                        if (snod->sqnum > cs_sqnum) {
-                               ubifs_err("unrecoverable log corruption in LEB %d",
+                               ubifs_err(c, "unrecoverable log corruption in LEB %d",
                                          lnum);
                                ubifs_scan_destroy(sleb);
                                return ERR_PTR(-EUCLEAN);
@@ -1037,7 +1037,7 @@ static int clean_an_unclean_leb(struct ubifs_info *c,
                }
 
                if (ret == SCANNED_EMPTY_SPACE) {
-                       ubifs_err("unexpected empty space at %d:%d",
+                       ubifs_err(c, "unexpected empty space at %d:%d",
                                  lnum, offs);
                        return -EUCLEAN;
                }
@@ -1131,7 +1131,7 @@ static int grab_empty_leb(struct ubifs_info *c)
         */
        lnum = ubifs_find_free_leb_for_idx(c);
        if (lnum < 0) {
-               ubifs_err("could not find an empty LEB");
+               ubifs_err(c, "could not find an empty LEB");
                ubifs_dump_lprops(c);
                ubifs_dump_budg(c, &c->bi);
                return lnum;
@@ -1211,7 +1211,7 @@ int ubifs_rcvry_gc_commit(struct ubifs_info *c)
        }
        mutex_unlock(&wbuf->io_mutex);
        if (err < 0) {
-               ubifs_err("GC failed, error %d", err);
+               ubifs_err(c, "GC failed, error %d", err);
                if (err == -EAGAIN)
                        err = -EINVAL;
                return err;
@@ -1458,7 +1458,7 @@ static int fix_size_in_place(struct ubifs_info *c, struct size_entry *e)
        return 0;
 
 out:
-       ubifs_warn("inode %lu failed to fix size %lld -> %lld error %d",
+       ubifs_warn(c, "inode %lu failed to fix size %lld -> %lld error %d",
                   (unsigned long)e->inum, e->i_size, e->d_size, err);
        return err;
 }