From c1fcb53132532573c03f1a09d7ee0561fd3bc609 Mon Sep 17 00:00:00 2001 From: xie xingguo Date: Thu, 6 Oct 2016 15:54:42 +0800 Subject: [PATCH] os/bluestore: add _dump_transaction to reduce code redundancy Signed-off-by: xie xingguo --- src/os/bluestore/BlueStore.cc | 50 +++++++++++++++-------------------- src/os/bluestore/BlueStore.h | 1 + 2 files changed, 23 insertions(+), 28 deletions(-) diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 77d2c1ee89aaf..22edee92f993e 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -6753,13 +6753,7 @@ void BlueStore::_txc_add_transaction(TransContext *txc, Transaction *t) { Transaction::iterator i = t->begin(); - dout(30) << __func__ << " transaction dump:\n"; - JSONFormatter f(true); - f.open_object_section("transaction"); - t->dump(&f); - f.close_section(); - f.flush(*_dout); - *_dout << dendl; + _dump_transaction(t); vector cvec(i.colls.size()); unsigned j = 0; @@ -6852,16 +6846,10 @@ void BlueStore::_txc_add_transaction(TransContext *txc, Transaction *t) break; } if (r < 0) { - dout(0) << " error " << cpp_strerror(r) - << " not handled on operation " << op->op - << " (op " << pos << ", counting from 0)" << dendl; - dout(0) << " transaction dump:\n"; - JSONFormatter f(true); - f.open_object_section("transaction"); - t->dump(&f); - f.close_section(); - f.flush(*_dout); - *_dout << dendl; + derr << __func__ << " error " << cpp_strerror(r) + << " not handled on operation " << op->op + << " (op " << pos << ", counting from 0)" << dendl; + _dump_transaction(t, 0); assert(0 == "unexpected error"); } @@ -7060,7 +7048,7 @@ void BlueStore::_txc_add_transaction(TransContext *txc, Transaction *t) break; default: - derr << "bad op " << op->op << dendl; + derr << __func__ << "bad op " << op->op << dendl; assert(0); } @@ -7094,16 +7082,12 @@ void BlueStore::_txc_add_transaction(TransContext *txc, Transaction *t) msg = "ENOTEMPTY suggests garbage data in osd data dir"; } - dout(0) << " error " << cpp_strerror(r) << " not handled on operation " << op->op - << " (op " << pos << ", counting from 0)" << dendl; - dout(0) << msg << dendl; - dout(0) << " transaction dump:\n"; - JSONFormatter f(true); - f.open_object_section("transaction"); - t->dump(&f); - f.close_section(); - f.flush(*_dout); - *_dout << dendl; + derr << __func__ << " error " << cpp_strerror(r) + << " not handled on operation " << op->op + << " (op " << pos << ", counting from 0)" + << dendl; + derr << msg << dendl; + _dump_transaction(t, 0); assert(0 == "unexpected error"); } } @@ -7182,6 +7166,16 @@ void BlueStore::_dump_extent_map(ExtentMap &em, int log_level) } } +void BlueStore::_dump_transaction(Transaction *t, int log_level) +{ + dout(log_level) << " transaction dump:\n"; + JSONFormatter f(true); + f.open_object_section("transaction"); + t->dump(&f); + f.close_section(); + f.flush(*_dout); + *_dout << dendl; +} void BlueStore::_pad_zeros( bufferlist *bl, uint64_t *offset, diff --git a/src/os/bluestore/BlueStore.h b/src/os/bluestore/BlueStore.h index ddcb7bfcd3bf4..764ab73764d97 100644 --- a/src/os/bluestore/BlueStore.h +++ b/src/os/bluestore/BlueStore.h @@ -1506,6 +1506,7 @@ private: void _dump_onode(OnodeRef o, int log_level=30); void _dump_extent_map(ExtentMap& em, int log_level=30); + void _dump_transaction(Transaction *t, int log_level = 30); TransContext *_txc_create(OpSequencer *osr); void _txc_update_store_statfs(TransContext *txc); -- 2.39.5