From: zhangzhi Date: Thu, 9 Jul 2015 05:37:09 +0000 (+0800) Subject: Fix mds dump_ops_in_flight crashing ocassionally X-Git-Tag: v9.0.3~53^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=2674739a11733909088c663877ccce79ae8865db;p=ceph.git Fix mds dump_ops_in_flight crashing ocassionally --- diff --git a/src/mds/Mutation.cc b/src/mds/Mutation.cc index 0ae173278b78..27eadf9d82e6 100644 --- a/src/mds/Mutation.cc +++ b/src/mds/Mutation.cc @@ -329,8 +329,7 @@ void MDRequestImpl::_dump(utime_t now, Formatter *f) const f->dump_stream("client") << client_request->get_orig_source(); f->dump_int("tid", client_request->get_tid()); f->close_section(); // client_info - } else if (slave_request) { - assert(!slave_request->is_reply()); // replies go to an existing mdr + } else if (slave_request && !slave_request->is_reply()) { // replies go to an existing mdr f->dump_string("op_type", "slave_request"); f->open_object_section("master_info"); f->dump_stream("master") << slave_request->get_orig_source(); @@ -353,12 +352,14 @@ void MDRequestImpl::_dump(utime_t now, Formatter *f) const f->dump_stream("op_stamp") << slave_request->op_stamp; f->close_section(); // request_info } - else { // internal request - assert(internal_op != -1); + else if (internal_op != -1) { // internal request f->dump_string("op_type", "internal_op"); f->dump_int("internal_op", internal_op); f->dump_string("op_name", ceph_mds_op_name(internal_op)); } + else { + f->dump_string("op_type", "no_available_op_found"); + } } { f->open_array_section("events");