From f82dce8dd81846d7403ee08c95d8b357e40b13e1 Mon Sep 17 00:00:00 2001 From: Greg Farnum Date: Sun, 3 Feb 2013 21:04:23 -0800 Subject: [PATCH] mds: ETableClient more modernization for dencoder Signed-off-by: Greg Farnum --- src/mds/events/ETableClient.h | 23 +++++----------------- src/mds/journal.cc | 36 +++++++++++++++++++++++++++++++++++ src/test/encoding/types.h | 3 ++- 3 files changed, 43 insertions(+), 19 deletions(-) diff --git a/src/mds/events/ETableClient.h b/src/mds/events/ETableClient.h index d7c1c990c97c9..8486b808cc3c1 100644 --- a/src/mds/events/ETableClient.h +++ b/src/mds/events/ETableClient.h @@ -26,28 +26,15 @@ struct ETableClient : public LogEvent { __s16 op; version_t tid; - ETableClient() : LogEvent(EVENT_TABLECLIENT) { } + ETableClient() : LogEvent(EVENT_TABLECLIENT), table(0), op(0), tid(0) { } ETableClient(int t, int o, version_t ti) : LogEvent(EVENT_TABLECLIENT), table(t), op(o), tid(ti) { } - void encode(bufferlist& bl) const { - ENCODE_START(3, 3, bl); - ::encode(stamp, bl); - ::encode(table, bl); - ::encode(op, bl); - ::encode(tid, bl); - ENCODE_FINISH(bl); - } - void decode(bufferlist::iterator &bl) { - DECODE_START_LEGACY_COMPAT_LEN(3, 3, 3, bl); - if (struct_v >= 2) - ::decode(stamp, bl); - ::decode(table, bl); - ::decode(op, bl); - ::decode(tid, bl); - DECODE_FINISH(bl); - } + void encode(bufferlist& bl) const; + void decode(bufferlist::iterator& bl); + void dump(Formatter *f) const; + static void generate_test_instances(list& ls); void print(ostream& out) { out << "ETableClient " << get_mdstable_name(table) << " " << get_mdstableserver_opname(op); diff --git a/src/mds/journal.cc b/src/mds/journal.cc index 7ac8242e4b1cc..c3ffd9f4afab3 100644 --- a/src/mds/journal.cc +++ b/src/mds/journal.cc @@ -1532,6 +1532,42 @@ void ETableServer::replay(MDS *mds) } +// --------------------- +// ETableClient + +void ETableClient::encode(bufferlist& bl) const +{ + ENCODE_START(3, 3, bl); + ::encode(stamp, bl); + ::encode(table, bl); + ::encode(op, bl); + ::encode(tid, bl); + ENCODE_FINISH(bl); +} + +void ETableClient::decode(bufferlist::iterator &bl) +{ + DECODE_START_LEGACY_COMPAT_LEN(3, 3, 3, bl); + if (struct_v >= 2) + ::decode(stamp, bl); + ::decode(table, bl); + ::decode(op, bl); + ::decode(tid, bl); + DECODE_FINISH(bl); +} + +void ETableClient::dump(Formatter *f) const +{ + f->dump_int("table", table); + f->dump_int("op", op); + f->dump_int("tid", tid); +} + +void ETableClient::generate_test_instances(list& ls) +{ + ls.push_back(new ETableClient()); +} + void ETableClient::replay(MDS *mds) { dout(10) << " ETableClient.replay " << get_mdstable_name(table) diff --git a/src/test/encoding/types.h b/src/test/encoding/types.h index eefbbf0e3752d..2f788fdea491e 100644 --- a/src/test/encoding/types.h +++ b/src/test/encoding/types.h @@ -153,9 +153,10 @@ TYPE(rmdir_rollback) TYPE(rename_rollback::drec) TYPE(rename_rollback) TYPE(ESlaveUpdate) - #include "mds/events/ESubtreeMap.h" TYPE(ESubtreeMap) +#include "mds/events/ETableClient.h" +TYPE(ETableClient) #ifdef WITH_RADOSGW -- 2.39.5