From: Jianpeng Ma Date: Wed, 9 Mar 2016 15:03:27 +0000 (+0800) Subject: os/bluestore/BlueStore: Allow _dump_onode dynamic accept log level. X-Git-Tag: v10.1.0~201^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F7995%2Fhead;p=ceph.git os/bluestore/BlueStore: Allow _dump_onode dynamic accept log level. Make _dump_onode dynamic accept different log level in different case. Signed-off-by: Jianpeng Ma --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 72d139fa0058..471d271ea437 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -4829,11 +4829,11 @@ void BlueStore::_do_read_all_overlays(bluestore_wal_op_t& wo) return; } -void BlueStore::_dump_onode(OnodeRef o) +void BlueStore::_dump_onode(OnodeRef o, int log_level) { - if (!g_conf->subsys.should_gather(ceph_subsys_bluestore, 30)) + if (!g_conf->subsys.should_gather(ceph_subsys_bluestore, log_level)) return; - dout(30) << __func__ << " " << o + dout(log_level) << __func__ << " " << o << " nid " << o->onode.nid << " size " << o->onode.size << " expected_object_size " << o->onode.expected_object_size @@ -4842,14 +4842,14 @@ void BlueStore::_dump_onode(OnodeRef o) for (map::iterator p = o->onode.attrs.begin(); p != o->onode.attrs.end(); ++p) { - dout(30) << __func__ << " attr " << p->first + dout(log_level) << __func__ << " attr " << p->first << " len " << p->second.length() << dendl; } uint64_t pos = 0; for (map::iterator p = o->onode.block_map.begin(); p != o->onode.block_map.end(); ++p) { - dout(30) << __func__ << " extent " << p->first << " " << p->second + dout(log_level) << __func__ << " extent " << p->first << " " << p->second << dendl; assert(p->first >= pos); pos = p->first + p->second.length; @@ -4858,13 +4858,13 @@ void BlueStore::_dump_onode(OnodeRef o) for (map::iterator p = o->onode.overlay_map.begin(); p != o->onode.overlay_map.end(); ++p) { - dout(30) << __func__ << " overlay " << p->first << " " << p->second + dout(log_level) << __func__ << " overlay " << p->first << " " << p->second << dendl; assert(p->first >= pos); pos = p->first + p->second.length; } if (!o->onode.overlay_refs.empty()) { - dout(30) << __func__ << " overlay_refs " << o->onode.overlay_refs << dendl; + dout(log_level) << __func__ << " overlay_refs " << o->onode.overlay_refs << dendl; } } @@ -5598,14 +5598,14 @@ int BlueStore::_do_write( if (p->second.has_flag(bluestore_extent_t::FLAG_UNWRITTEN)) { derr << __func__ << " left behind an unwritten extent, out of sync with " << "_do_allocate" << dendl; - _dump_onode(o); + _dump_onode(o, 0); assert(0 == "leaked unwritten extent"); } if (p->second.has_flag(bluestore_extent_t::FLAG_COW_HEAD) || p->second.has_flag(bluestore_extent_t::FLAG_COW_TAIL)) { derr << __func__ << " left behind a COW extent, out of sync with " << "_do_allocate" << dendl; - _dump_onode(o); + _dump_onode(o, 0); assert(0 == "leaked cow extent"); } } diff --git a/src/os/bluestore/BlueStore.h b/src/os/bluestore/BlueStore.h index ec9730f59eb2..1b896ee96bbc 100644 --- a/src/os/bluestore/BlueStore.h +++ b/src/os/bluestore/BlueStore.h @@ -578,7 +578,7 @@ private: void _assign_nid(TransContext *txc, OnodeRef o); - void _dump_onode(OnodeRef o); + void _dump_onode(OnodeRef o, int log_leverl=30); TransContext *_txc_create(OpSequencer *osr); void _txc_release(TransContext *txc, CollectionRef& c, OnodeRef& onode,