// 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();
}
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;
}
/* 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
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();
// me
CephContext *cct;
std::mutex lock;
+ const std::string name;
typedef std::lock_guard<std::mutex> lock_guard;
typedef std::unique_lock<std::mutex> unique_lock;
Finisher *finisher;
// 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),