From: John Spray Date: Thu, 1 Dec 2016 15:25:07 +0000 (+0000) Subject: osdc/Journaler: assign a name for logging X-Git-Tag: v12.0.1~140^2~31 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e8c6e74f207db2fff003672154ccdcf5945b55f6;p=ceph.git osdc/Journaler: assign a name for logging Now that we have an MDLog journaler and a PurgeQueue journaler, this is needed to avoid confusion. Signed-off-by: John Spray --- diff --git a/src/mds/MDLog.cc b/src/mds/MDLog.cc index 3a864a7a7b53..dd0141953128 100644 --- a/src/mds/MDLog.cc +++ b/src/mds/MDLog.cc @@ -157,10 +157,9 @@ void MDLog::create(MDSInternalContextBase *c) // Instantiate Journaler and start async write to RADOS assert(journaler == NULL); - journaler = new Journaler(ino, mds->mdsmap->get_metadata_pool(), CEPH_FS_ONDISK_MAGIC, mds->objecter, - logger, l_mdl_jlat, - &mds->timer, - mds->finisher); + journaler = new Journaler("mdlog", ino, mds->mdsmap->get_metadata_pool(), + CEPH_FS_ONDISK_MAGIC, mds->objecter, logger, + l_mdl_jlat, &mds->timer, mds->finisher); assert(journaler->is_readonly()); journaler->set_write_error_handler(new C_MDL_WriteError(this)); journaler->set_writeable(); @@ -954,8 +953,9 @@ void MDLog::_recovery_thread(MDSInternalContextBase *completion) } dout(1) << "Erasing journal " << jp.back << dendl; C_SaferCond erase_waiter; - Journaler back(jp.back, mds->mdsmap->get_metadata_pool(), CEPH_FS_ONDISK_MAGIC, - mds->objecter, logger, l_mdl_jlat, &mds->timer, mds->finisher); + Journaler back("mdlog", jp.back, mds->mdsmap->get_metadata_pool(), + CEPH_FS_ONDISK_MAGIC, mds->objecter, logger, l_mdl_jlat, &mds->timer, + mds->finisher); // Read all about this journal (header + extents) C_SaferCond recover_wait; @@ -992,8 +992,9 @@ void MDLog::_recovery_thread(MDSInternalContextBase *completion) } /* Read the header from the front journal */ - Journaler *front_journal = new Journaler(jp.front, mds->mdsmap->get_metadata_pool(), - CEPH_FS_ONDISK_MAGIC, mds->objecter, logger, l_mdl_jlat, &mds->timer, mds->finisher); + Journaler *front_journal = new Journaler("mdlog", jp.front, + mds->mdsmap->get_metadata_pool(), CEPH_FS_ONDISK_MAGIC, mds->objecter, + logger, l_mdl_jlat, &mds->timer, mds->finisher); // Assign to ::journaler so that we can be aborted by ::shutdown while // waiting for journaler recovery @@ -1078,8 +1079,8 @@ void MDLog::_reformat_journal(JournalPointer const &jp_in, Journaler *old_journa assert(write_result == 0); /* Create the new Journaler file */ - Journaler *new_journal = new Journaler(jp.back, mds->mdsmap->get_metadata_pool(), - CEPH_FS_ONDISK_MAGIC, mds->objecter, logger, l_mdl_jlat, &mds->timer, mds->finisher); + Journaler *new_journal = new Journaler("mdlog", jp.back, + mds->mdsmap->get_metadata_pool(), CEPH_FS_ONDISK_MAGIC, mds->objecter, logger, l_mdl_jlat, &mds->timer, mds->finisher); dout(4) << "Writing new journal header " << jp.back << dendl; file_layout_t new_layout = old_journal->get_layout(); new_journal->set_writeable(); diff --git a/src/osdc/Journaler.cc b/src/osdc/Journaler.cc index 61e4d996353d..ef4893c1aef8 100644 --- a/src/osdc/Journaler.cc +++ b/src/osdc/Journaler.cc @@ -24,7 +24,7 @@ #define dout_subsys ceph_subsys_journaler #undef dout_prefix #define dout_prefix *_dout << objecter->messenger->get_myname() \ - << ".journaler" << (readonly ? "(ro) ":"(rw) ") + << ".journaler." << name << (readonly ? "(ro) ":"(rw) ") using std::chrono::seconds; diff --git a/src/osdc/Journaler.h b/src/osdc/Journaler.h index 6c7e7cf9db4e..cf0e08c63e96 100644 --- a/src/osdc/Journaler.h +++ b/src/osdc/Journaler.h @@ -207,6 +207,7 @@ private: // me CephContext *cct; std::mutex lock; + const std::string name; typedef std::lock_guard lock_guard; typedef std::unique_lock unique_lock; Finisher *finisher; @@ -379,10 +380,11 @@ private: // CEPH_OSD_OP_FADIVSE_* public: - Journaler(inodeno_t ino_, int64_t pool, const char *mag, Objecter *obj, - PerfCounters *l, int lkey, SafeTimer *tim, Finisher *f) : + Journaler(const std::string &name_, inodeno_t ino_, int64_t pool, + const char *mag, Objecter *obj, PerfCounters *l, int lkey, + SafeTimer *tim, Finisher *f) : last_committed(mag), - cct(obj->cct), finisher(f), last_written(mag), + cct(obj->cct), name(name_), finisher(f), last_written(mag), ino(ino_), pg_pool(pool), readonly(true), stream_format(-1), journal_stream(-1), magic(mag), diff --git a/src/tools/cephfs/Dumper.cc b/src/tools/cephfs/Dumper.cc index 5265e842d11b..94d470ef64ba 100644 --- a/src/tools/cephfs/Dumper.cc +++ b/src/tools/cephfs/Dumper.cc @@ -82,7 +82,7 @@ int Dumper::dump(const char *dump_file) auto fs = fsmap->get_filesystem(role.fscid); assert(fs != nullptr); - Journaler journaler(ino, fs->mds_map.get_metadata_pool(), + Journaler journaler("dumper", ino, fs->mds_map.get_metadata_pool(), CEPH_FS_ONDISK_MAGIC, objecter, 0, 0, &timer, &finisher); r = recover_journal(&journaler); diff --git a/src/tools/cephfs/Resetter.cc b/src/tools/cephfs/Resetter.cc index 2ef02c5d31f2..909a23131158 100644 --- a/src/tools/cephfs/Resetter.cc +++ b/src/tools/cephfs/Resetter.cc @@ -45,7 +45,7 @@ int Resetter::reset(mds_role_t role) return jp_load_result; } - Journaler journaler(jp.front, + Journaler journaler("resetter", jp.front, pool_id, CEPH_FS_ONDISK_MAGIC, objecter, 0, 0, &timer, &finisher); @@ -127,7 +127,7 @@ int Resetter::reset_hard(mds_role_t role) return r; } - Journaler journaler(jp.front, + Journaler journaler("resetter", jp.front, pool_id, CEPH_FS_ONDISK_MAGIC, objecter, 0, 0, &timer, &finisher);