UBIFS: print less
UBIFS currently prints a lot of information when it mounts a volume, which bothers some people. Make it less chatty - print only important information by default. Get rid of 'dbg_msg()' macro completely. Reported-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
This commit is contained in:
parent
6b38d03f48
commit
3668b70fcf
8 changed files with 59 additions and 69 deletions
|
@ -293,8 +293,8 @@ int ubifs_bg_thread(void *info)
|
||||||
int err;
|
int err;
|
||||||
struct ubifs_info *c = info;
|
struct ubifs_info *c = info;
|
||||||
|
|
||||||
dbg_msg("background thread \"%s\" started, PID %d",
|
ubifs_msg("background thread \"%s\" started, PID %d",
|
||||||
c->bgt_name, current->pid);
|
c->bgt_name, current->pid);
|
||||||
set_freezable();
|
set_freezable();
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
|
@ -328,7 +328,7 @@ int ubifs_bg_thread(void *info)
|
||||||
cond_resched();
|
cond_resched();
|
||||||
}
|
}
|
||||||
|
|
||||||
dbg_msg("background thread \"%s\" stops", c->bgt_name);
|
ubifs_msg("background thread \"%s\" stops", c->bgt_name);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -176,11 +176,6 @@ struct ubifs_global_debug_info {
|
||||||
dbg_snprintf_key(c, key, __tmp_key_buf, DBG_KEY_BUF_LEN)); \
|
dbg_snprintf_key(c, key, __tmp_key_buf, DBG_KEY_BUF_LEN)); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
/* Just a debugging messages not related to any specific UBIFS subsystem */
|
|
||||||
#define dbg_msg(fmt, ...) \
|
|
||||||
pr_err("UBIFS DBG (pid %d): %s: " fmt "\n", current->pid, \
|
|
||||||
__func__, ##__VA_ARGS__)
|
|
||||||
|
|
||||||
/* General messages */
|
/* General messages */
|
||||||
#define dbg_gen(fmt, ...) ubifs_dbg_msg("gen", fmt, ##__VA_ARGS__)
|
#define dbg_gen(fmt, ...) ubifs_dbg_msg("gen", fmt, ##__VA_ARGS__)
|
||||||
/* Additional journal messages */
|
/* Additional journal messages */
|
||||||
|
|
|
@ -982,9 +982,9 @@ void dbg_check_heap(struct ubifs_info *c, struct ubifs_lpt_heap *heap, int cat,
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
if (lprops != lp) {
|
if (lprops != lp) {
|
||||||
dbg_msg("lprops %zx lp %zx lprops->lnum %d lp->lnum %d",
|
ubifs_err("lprops %zx lp %zx lprops->lnum %d lp->lnum %d",
|
||||||
(size_t)lprops, (size_t)lp, lprops->lnum,
|
(size_t)lprops, (size_t)lp, lprops->lnum,
|
||||||
lp->lnum);
|
lp->lnum);
|
||||||
err = 4;
|
err = 4;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
@ -1002,7 +1002,7 @@ void dbg_check_heap(struct ubifs_info *c, struct ubifs_lpt_heap *heap, int cat,
|
||||||
}
|
}
|
||||||
out:
|
out:
|
||||||
if (err) {
|
if (err) {
|
||||||
dbg_msg("failed cat %d hpos %d err %d", cat, i, err);
|
ubifs_err("failed cat %d hpos %d err %d", cat, i, err);
|
||||||
dump_stack();
|
dump_stack();
|
||||||
ubifs_dump_heap(c, heap, cat);
|
ubifs_dump_heap(c, heap, cat);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1311,7 +1311,7 @@ static int read_pnode(struct ubifs_info *c, struct ubifs_nnode *parent, int iip)
|
||||||
ubifs_err("error %d reading pnode at %d:%d", err, lnum, offs);
|
ubifs_err("error %d reading pnode at %d:%d", err, lnum, offs);
|
||||||
ubifs_dump_pnode(c, pnode, parent, iip);
|
ubifs_dump_pnode(c, pnode, parent, iip);
|
||||||
dump_stack();
|
dump_stack();
|
||||||
dbg_msg("calc num: %d", calc_pnode_num_from_parent(c, parent, iip));
|
ubifs_err("calc num: %d", calc_pnode_num_from_parent(c, parent, iip));
|
||||||
kfree(pnode);
|
kfree(pnode);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1662,19 +1662,19 @@ static int dbg_check_ltab_lnum(struct ubifs_info *c, int lnum)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (!dbg_is_all_ff(p, len)) {
|
if (!dbg_is_all_ff(p, len)) {
|
||||||
dbg_msg("invalid empty space in LEB %d at %d",
|
ubifs_err("invalid empty space in LEB %d at %d",
|
||||||
lnum, c->leb_size - len);
|
lnum, c->leb_size - len);
|
||||||
err = -EINVAL;
|
err = -EINVAL;
|
||||||
}
|
}
|
||||||
i = lnum - c->lpt_first;
|
i = lnum - c->lpt_first;
|
||||||
if (len != c->ltab[i].free) {
|
if (len != c->ltab[i].free) {
|
||||||
dbg_msg("invalid free space in LEB %d (free %d, expected %d)",
|
ubifs_err("invalid free space in LEB %d (free %d, expected %d)",
|
||||||
lnum, len, c->ltab[i].free);
|
lnum, len, c->ltab[i].free);
|
||||||
err = -EINVAL;
|
err = -EINVAL;
|
||||||
}
|
}
|
||||||
if (dirty != c->ltab[i].dirty) {
|
if (dirty != c->ltab[i].dirty) {
|
||||||
dbg_msg("invalid dirty space in LEB %d (dirty %d, expected %d)",
|
ubifs_err("invalid dirty space in LEB %d (dirty %d, expected %d)",
|
||||||
lnum, dirty, c->ltab[i].dirty);
|
lnum, dirty, c->ltab[i].dirty);
|
||||||
err = -EINVAL;
|
err = -EINVAL;
|
||||||
}
|
}
|
||||||
goto out;
|
goto out;
|
||||||
|
|
|
@ -141,7 +141,7 @@ static int set_bud_lprops(struct ubifs_info *c, struct bud_entry *b)
|
||||||
* during the replay.
|
* during the replay.
|
||||||
*/
|
*/
|
||||||
if (dirty != 0)
|
if (dirty != 0)
|
||||||
dbg_msg("LEB %d lp: %d free %d dirty replay: %d free %d dirty",
|
dbg_mnt("LEB %d lp: %d free %d dirty replay: %d free %d dirty",
|
||||||
b->bud->lnum, lp->free, lp->dirty, b->free,
|
b->bud->lnum, lp->free, lp->dirty, b->free,
|
||||||
b->dirty);
|
b->dirty);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1160,7 +1160,7 @@ static int check_free_space(struct ubifs_info *c)
|
||||||
static int mount_ubifs(struct ubifs_info *c)
|
static int mount_ubifs(struct ubifs_info *c)
|
||||||
{
|
{
|
||||||
int err;
|
int err;
|
||||||
long long x;
|
long long x, y;
|
||||||
size_t sz;
|
size_t sz;
|
||||||
|
|
||||||
c->ro_mount = !!(c->vfs_sb->s_flags & MS_RDONLY);
|
c->ro_mount = !!(c->vfs_sb->s_flags & MS_RDONLY);
|
||||||
|
@ -1410,74 +1410,69 @@ static int mount_ubifs(struct ubifs_info *c)
|
||||||
|
|
||||||
c->mounting = 0;
|
c->mounting = 0;
|
||||||
|
|
||||||
ubifs_msg("mounted UBI device %d, volume %d, name \"%s\"",
|
ubifs_msg("mounted UBI device %d, volume %d, name \"%s\"%s",
|
||||||
c->vi.ubi_num, c->vi.vol_id, c->vi.name);
|
c->vi.ubi_num, c->vi.vol_id, c->vi.name,
|
||||||
if (c->ro_mount)
|
c->ro_mount ? ", R/O mode" : NULL);
|
||||||
ubifs_msg("mounted read-only");
|
|
||||||
x = (long long)c->main_lebs * c->leb_size;
|
x = (long long)c->main_lebs * c->leb_size;
|
||||||
ubifs_msg("file system size: %lld bytes (%lld KiB, %lld MiB, %d LEBs)",
|
y = (long long)c->log_lebs * c->leb_size + c->max_bud_bytes;
|
||||||
x, x >> 10, x >> 20, c->main_lebs);
|
ubifs_msg("LEB size: %d bytes (%d KiB), min./max. I/O unit sizes: %d bytes/%d bytes",
|
||||||
x = (long long)c->log_lebs * c->leb_size + c->max_bud_bytes;
|
c->leb_size, c->leb_size >> 10, c->min_io_size,
|
||||||
ubifs_msg("journal size: %lld bytes (%lld KiB, %lld MiB, %d LEBs)",
|
c->max_write_size);
|
||||||
x, x >> 10, x >> 20, c->log_lebs + c->max_bud_cnt);
|
ubifs_msg("FS size: %lld bytes (%lld MiB, %d LEBs), journal size %lld bytes (%lld MiB, %d LEBs)",
|
||||||
ubifs_msg("media format: w%d/r%d (latest is w%d/r%d)",
|
x, x >> 20, c->main_lebs,
|
||||||
|
y, y >> 20, c->log_lebs + c->max_bud_cnt);
|
||||||
|
ubifs_msg("reserved for root: %llu bytes (%llu KiB)",
|
||||||
|
c->report_rp_size, c->report_rp_size >> 10);
|
||||||
|
ubifs_msg("media format: w%d/r%d (latest is w%d/r%d), UUID %pUB%s",
|
||||||
c->fmt_version, c->ro_compat_version,
|
c->fmt_version, c->ro_compat_version,
|
||||||
UBIFS_FORMAT_VERSION, UBIFS_RO_COMPAT_VERSION);
|
UBIFS_FORMAT_VERSION, UBIFS_RO_COMPAT_VERSION, c->uuid,
|
||||||
ubifs_msg("default compressor: %s", ubifs_compr_name(c->default_compr));
|
c->big_lpt ? ", big LPT model" : ", small LPT model");
|
||||||
ubifs_msg("reserved for root: %llu bytes (%llu KiB)",
|
|
||||||
c->report_rp_size, c->report_rp_size >> 10);
|
|
||||||
|
|
||||||
dbg_msg("min. I/O unit size: %d bytes", c->min_io_size);
|
dbg_gen("default compressor: %s", ubifs_compr_name(c->default_compr));
|
||||||
dbg_msg("max. write size: %d bytes", c->max_write_size);
|
dbg_gen("data journal heads: %d",
|
||||||
dbg_msg("LEB size: %d bytes (%d KiB)",
|
|
||||||
c->leb_size, c->leb_size >> 10);
|
|
||||||
dbg_msg("data journal heads: %d",
|
|
||||||
c->jhead_cnt - NONDATA_JHEADS_CNT);
|
c->jhead_cnt - NONDATA_JHEADS_CNT);
|
||||||
dbg_msg("UUID: %pUB", c->uuid);
|
dbg_gen("log LEBs: %d (%d - %d)",
|
||||||
dbg_msg("big_lpt %d", c->big_lpt);
|
|
||||||
dbg_msg("log LEBs: %d (%d - %d)",
|
|
||||||
c->log_lebs, UBIFS_LOG_LNUM, c->log_last);
|
c->log_lebs, UBIFS_LOG_LNUM, c->log_last);
|
||||||
dbg_msg("LPT area LEBs: %d (%d - %d)",
|
dbg_gen("LPT area LEBs: %d (%d - %d)",
|
||||||
c->lpt_lebs, c->lpt_first, c->lpt_last);
|
c->lpt_lebs, c->lpt_first, c->lpt_last);
|
||||||
dbg_msg("orphan area LEBs: %d (%d - %d)",
|
dbg_gen("orphan area LEBs: %d (%d - %d)",
|
||||||
c->orph_lebs, c->orph_first, c->orph_last);
|
c->orph_lebs, c->orph_first, c->orph_last);
|
||||||
dbg_msg("main area LEBs: %d (%d - %d)",
|
dbg_gen("main area LEBs: %d (%d - %d)",
|
||||||
c->main_lebs, c->main_first, c->leb_cnt - 1);
|
c->main_lebs, c->main_first, c->leb_cnt - 1);
|
||||||
dbg_msg("index LEBs: %d", c->lst.idx_lebs);
|
dbg_gen("index LEBs: %d", c->lst.idx_lebs);
|
||||||
dbg_msg("total index bytes: %lld (%lld KiB, %lld MiB)",
|
dbg_gen("total index bytes: %lld (%lld KiB, %lld MiB)",
|
||||||
c->bi.old_idx_sz, c->bi.old_idx_sz >> 10,
|
c->bi.old_idx_sz, c->bi.old_idx_sz >> 10,
|
||||||
c->bi.old_idx_sz >> 20);
|
c->bi.old_idx_sz >> 20);
|
||||||
dbg_msg("key hash type: %d", c->key_hash_type);
|
dbg_gen("key hash type: %d", c->key_hash_type);
|
||||||
dbg_msg("tree fanout: %d", c->fanout);
|
dbg_gen("tree fanout: %d", c->fanout);
|
||||||
dbg_msg("reserved GC LEB: %d", c->gc_lnum);
|
dbg_gen("reserved GC LEB: %d", c->gc_lnum);
|
||||||
dbg_msg("first main LEB: %d", c->main_first);
|
dbg_gen("max. znode size %d", c->max_znode_sz);
|
||||||
dbg_msg("max. znode size %d", c->max_znode_sz);
|
dbg_gen("max. index node size %d", c->max_idx_node_sz);
|
||||||
dbg_msg("max. index node size %d", c->max_idx_node_sz);
|
dbg_gen("node sizes: data %zu, inode %zu, dentry %zu",
|
||||||
dbg_msg("node sizes: data %zu, inode %zu, dentry %zu",
|
|
||||||
UBIFS_DATA_NODE_SZ, UBIFS_INO_NODE_SZ, UBIFS_DENT_NODE_SZ);
|
UBIFS_DATA_NODE_SZ, UBIFS_INO_NODE_SZ, UBIFS_DENT_NODE_SZ);
|
||||||
dbg_msg("node sizes: trun %zu, sb %zu, master %zu",
|
dbg_gen("node sizes: trun %zu, sb %zu, master %zu",
|
||||||
UBIFS_TRUN_NODE_SZ, UBIFS_SB_NODE_SZ, UBIFS_MST_NODE_SZ);
|
UBIFS_TRUN_NODE_SZ, UBIFS_SB_NODE_SZ, UBIFS_MST_NODE_SZ);
|
||||||
dbg_msg("node sizes: ref %zu, cmt. start %zu, orph %zu",
|
dbg_gen("node sizes: ref %zu, cmt. start %zu, orph %zu",
|
||||||
UBIFS_REF_NODE_SZ, UBIFS_CS_NODE_SZ, UBIFS_ORPH_NODE_SZ);
|
UBIFS_REF_NODE_SZ, UBIFS_CS_NODE_SZ, UBIFS_ORPH_NODE_SZ);
|
||||||
dbg_msg("max. node sizes: data %zu, inode %zu dentry %zu, idx %d",
|
dbg_gen("max. node sizes: data %zu, inode %zu dentry %zu, idx %d",
|
||||||
UBIFS_MAX_DATA_NODE_SZ, UBIFS_MAX_INO_NODE_SZ,
|
UBIFS_MAX_DATA_NODE_SZ, UBIFS_MAX_INO_NODE_SZ,
|
||||||
UBIFS_MAX_DENT_NODE_SZ, ubifs_idx_node_sz(c, c->fanout));
|
UBIFS_MAX_DENT_NODE_SZ, ubifs_idx_node_sz(c, c->fanout));
|
||||||
dbg_msg("dead watermark: %d", c->dead_wm);
|
dbg_gen("dead watermark: %d", c->dead_wm);
|
||||||
dbg_msg("dark watermark: %d", c->dark_wm);
|
dbg_gen("dark watermark: %d", c->dark_wm);
|
||||||
dbg_msg("LEB overhead: %d", c->leb_overhead);
|
dbg_gen("LEB overhead: %d", c->leb_overhead);
|
||||||
x = (long long)c->main_lebs * c->dark_wm;
|
x = (long long)c->main_lebs * c->dark_wm;
|
||||||
dbg_msg("max. dark space: %lld (%lld KiB, %lld MiB)",
|
dbg_gen("max. dark space: %lld (%lld KiB, %lld MiB)",
|
||||||
x, x >> 10, x >> 20);
|
x, x >> 10, x >> 20);
|
||||||
dbg_msg("maximum bud bytes: %lld (%lld KiB, %lld MiB)",
|
dbg_gen("maximum bud bytes: %lld (%lld KiB, %lld MiB)",
|
||||||
c->max_bud_bytes, c->max_bud_bytes >> 10,
|
c->max_bud_bytes, c->max_bud_bytes >> 10,
|
||||||
c->max_bud_bytes >> 20);
|
c->max_bud_bytes >> 20);
|
||||||
dbg_msg("BG commit bud bytes: %lld (%lld KiB, %lld MiB)",
|
dbg_gen("BG commit bud bytes: %lld (%lld KiB, %lld MiB)",
|
||||||
c->bg_bud_bytes, c->bg_bud_bytes >> 10,
|
c->bg_bud_bytes, c->bg_bud_bytes >> 10,
|
||||||
c->bg_bud_bytes >> 20);
|
c->bg_bud_bytes >> 20);
|
||||||
dbg_msg("current bud bytes %lld (%lld KiB, %lld MiB)",
|
dbg_gen("current bud bytes %lld (%lld KiB, %lld MiB)",
|
||||||
c->bud_bytes, c->bud_bytes >> 10, c->bud_bytes >> 20);
|
c->bud_bytes, c->bud_bytes >> 10, c->bud_bytes >> 20);
|
||||||
dbg_msg("max. seq. number: %llu", c->max_sqnum);
|
dbg_gen("max. seq. number: %llu", c->max_sqnum);
|
||||||
dbg_msg("commit number: %llu", c->cmt_no);
|
dbg_gen("commit number: %llu", c->cmt_no);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
|
|
@ -328,8 +328,8 @@ static int read_znode(struct ubifs_info *c, int lnum, int offs, int len,
|
||||||
case UBIFS_XENT_KEY:
|
case UBIFS_XENT_KEY:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
dbg_msg("bad key type at slot %d: %d",
|
ubifs_err("bad key type at slot %d: %d",
|
||||||
i, key_type(c, &zbr->key));
|
i, key_type(c, &zbr->key));
|
||||||
err = 3;
|
err = 3;
|
||||||
goto out_dump;
|
goto out_dump;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue