]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: add _dump_transaction to reduce code redundancy
authorxie xingguo <xie.xingguo@zte.com.cn>
Thu, 6 Oct 2016 07:54:42 +0000 (15:54 +0800)
committerxie xingguo <xie.xingguo@zte.com.cn>
Thu, 6 Oct 2016 08:21:42 +0000 (16:21 +0800)
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
src/os/bluestore/BlueStore.cc
src/os/bluestore/BlueStore.h

index 77d2c1ee89aaf8c0ca1b916105a7e5705b84ca71..22edee92f993e70fe0d3a32738b4d037dd13503d 100644 (file)
@@ -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<CollectionRef> 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,
index ddcb7bfcd3bf4889a01ad919a28784195846d922..764ab73764d9728aed4bb79af90bf7016b9383ca 100644 (file)
@@ -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);