Skip to content

Commit 08c793f

Browse files
committed
osdc/Journaler: un-inline the constructor to reduce header dependencies
This allows forward-declaring class Objecter. Signed-off-by: Max Kellermann <[email protected]>
1 parent c553e62 commit 08c793f

File tree

2 files changed

+25
-21
lines changed

2 files changed

+25
-21
lines changed

src/osdc/Journaler.cc

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
*/
1414

1515
#include "osdc/Journaler.h"
16+
#include "osdc/Objecter.h"
1617
#include "common/perf_counters.h"
1718
#include "common/dout.h"
1819
#include "include/Context.h"
@@ -39,6 +40,28 @@ class Journaler::C_DelayFlush : public Context {
3940
}
4041
};
4142

43+
Journaler::Journaler(const std::string &name_, inodeno_t ino_, int64_t pool,
44+
const char *mag, Objecter *obj, PerfCounters *l, int lkey, Finisher *f) :
45+
last_committed(mag),
46+
cct(obj->cct), lock(ceph::make_mutex("Journaler::" + name_)), name(name_), finisher(f), last_written(mag),
47+
ino(ino_), pg_pool(pool), readonly(true),
48+
stream_format(-1), journal_stream(-1),
49+
magic(mag),
50+
objecter(obj), filer(objecter, f), logger(l), logger_key_lat(lkey),
51+
delay_flush_event(0),
52+
state(STATE_UNDEF), error(0),
53+
prezeroing_pos(0), prezero_pos(0), write_pos(0), flush_pos(0),
54+
safe_pos(0), next_safe_pos(0),
55+
write_buf_throttle(cct, "write_buf_throttle", UINT_MAX - (UINT_MAX >> 3)),
56+
waiting_for_zero_pos(0),
57+
read_pos(0), requested_pos(0), received_pos(0),
58+
fetch_len(0), temp_fetch_len(0),
59+
on_readable(0), on_write_error(NULL), called_write_error(false),
60+
expire_pos(0), trimming_pos(0), trimmed_pos(0), readable(false),
61+
write_iohint(0)
62+
{
63+
}
64+
4265
void Journaler::set_readonly()
4366
{
4467
lock_guard l(lock);

src/osdc/Journaler.h

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,13 @@
6060
#include <list>
6161
#include <map>
6262

63-
#include "Objecter.h"
6463
#include "Filer.h"
6564

6665
#include "common/Throttle.h"
6766
#include "include/common_fwd.h"
6867

6968
class Context;
69+
class Objecter;
7070
class Finisher;
7171
class C_OnFinisher;
7272

@@ -408,26 +408,7 @@ class Journaler {
408408

409409
public:
410410
Journaler(const std::string &name_, inodeno_t ino_, int64_t pool,
411-
const char *mag, Objecter *obj, PerfCounters *l, int lkey, Finisher *f) :
412-
last_committed(mag),
413-
cct(obj->cct), lock(ceph::make_mutex("Journaler::" + name_)), name(name_), finisher(f), last_written(mag),
414-
ino(ino_), pg_pool(pool), readonly(true),
415-
stream_format(-1), journal_stream(-1),
416-
magic(mag),
417-
objecter(obj), filer(objecter, f), logger(l), logger_key_lat(lkey),
418-
delay_flush_event(0),
419-
state(STATE_UNDEF), error(0),
420-
prezeroing_pos(0), prezero_pos(0), write_pos(0), flush_pos(0),
421-
safe_pos(0), next_safe_pos(0),
422-
write_buf_throttle(cct, "write_buf_throttle", UINT_MAX - (UINT_MAX >> 3)),
423-
waiting_for_zero_pos(0),
424-
read_pos(0), requested_pos(0), received_pos(0),
425-
fetch_len(0), temp_fetch_len(0),
426-
on_readable(0), on_write_error(NULL), called_write_error(false),
427-
expire_pos(0), trimming_pos(0), trimmed_pos(0), readable(false),
428-
write_iohint(0)
429-
{
430-
}
411+
const char *mag, Objecter *obj, PerfCounters *l, int lkey, Finisher *f);
431412

432413
/* reset
433414
*

0 commit comments

Comments
 (0)