From 96018b0a85d0bc7eec285398dd596ee01d16fae7 Mon Sep 17 00:00:00 2001 From: Michal Jarzabek Date: Tue, 11 Oct 2016 21:23:57 +0100 Subject: [PATCH] mds/DamageTable: move classes to .cc file Signed-off-by: Michal Jarzabek --- src/mds/DamageTable.cc | 97 ++++++++++++++++++++++++++++++++++++++++++ src/mds/DamageTable.h | 95 ----------------------------------------- 2 files changed, 97 insertions(+), 95 deletions(-) diff --git a/src/mds/DamageTable.cc b/src/mds/DamageTable.cc index b8bcdda37d9c..a24f8c3d2d3b 100644 --- a/src/mds/DamageTable.cc +++ b/src/mds/DamageTable.cc @@ -22,6 +22,103 @@ #undef dout_prefix #define dout_prefix *_dout << "mds." << rank << ".damage " << __func__ << " " +namespace { +/** + * Record damage to a particular dirfrag, implicitly affecting + * any dentries within it. + */ +class DirFragDamage : public DamageEntry +{ + public: + inodeno_t ino; + frag_t frag; + + DirFragDamage(inodeno_t ino_, frag_t frag_) + : ino(ino_), frag(frag_) + {} + + virtual damage_entry_type_t get_type() const + { + return DAMAGE_ENTRY_DIRFRAG; + } + + void dump(Formatter *f) const + { + f->open_object_section("dir_frag_damage"); + f->dump_string("damage_type", "dir_frag"); + f->dump_int("id", id); + f->dump_int("ino", ino); + f->dump_stream("frag") << frag; + f->close_section(); + } +}; + + +/** + * Record damage to a particular dname within a particular dirfrag + */ +class DentryDamage : public DamageEntry +{ + public: + inodeno_t ino; + frag_t frag; + std::string dname; + snapid_t snap_id; + + DentryDamage( + inodeno_t ino_, + frag_t frag_, + std::string dname_, + snapid_t snap_id_) + : ino(ino_), frag(frag_), dname(dname_), snap_id(snap_id_) + {} + + virtual damage_entry_type_t get_type() const + { + return DAMAGE_ENTRY_DENTRY; + } + + void dump(Formatter *f) const + { + f->open_object_section("dentry_damage"); + f->dump_string("damage_type", "dentry"); + f->dump_int("id", id); + f->dump_int("ino", ino); + f->dump_stream("frag") << frag; + f->dump_string("dname", dname); + f->dump_stream("snap_id") << snap_id; + f->close_section(); + } +}; + + +/** + * Record damage to our ability to look up an ino by number + */ +class BacktraceDamage : public DamageEntry +{ + public: + inodeno_t ino; + + BacktraceDamage(inodeno_t ino_) + : ino(ino_) + {} + + virtual damage_entry_type_t get_type() const + { + return DAMAGE_ENTRY_BACKTRACE; + } + + void dump(Formatter *f) const + { + f->open_object_section("backtrace_damage"); + f->dump_string("damage_type", "backtrace"); + f->dump_int("id", id); + f->dump_int("ino", ino); + f->close_section(); + } +}; +} DamageEntry::~DamageEntry() {} diff --git a/src/mds/DamageTable.h b/src/mds/DamageTable.h index cd82911d2e8f..998e0f84ea6d 100644 --- a/src/mds/DamageTable.h +++ b/src/mds/DamageTable.h @@ -53,101 +53,6 @@ class DamageEntry typedef ceph::shared_ptr DamageEntryRef; -/** - * Record damage to a particular dirfrag, implicitly affecting - * any dentries within it. - */ -class DirFragDamage : public DamageEntry -{ - public: - inodeno_t ino; - frag_t frag; - - DirFragDamage(inodeno_t ino_, frag_t frag_) - : ino(ino_), frag(frag_) - {} - - virtual damage_entry_type_t get_type() const - { - return DAMAGE_ENTRY_DIRFRAG; - } - - void dump(Formatter *f) const - { - f->open_object_section("dir_frag_damage"); - f->dump_string("damage_type", "dir_frag"); - f->dump_int("id", id); - f->dump_int("ino", ino); - f->dump_stream("frag") << frag; - f->close_section(); - } -}; - - -/** - * Record damage to a particular dname within a particular dirfrag - */ -class DentryDamage : public DamageEntry -{ - public: - inodeno_t ino; - frag_t frag; - std::string dname; - snapid_t snap_id; - - DentryDamage( - inodeno_t ino_, - frag_t frag_, - std::string dname_, - snapid_t snap_id_) - : ino(ino_), frag(frag_), dname(dname_), snap_id(snap_id_) - {} - - virtual damage_entry_type_t get_type() const - { - return DAMAGE_ENTRY_DENTRY; - } - - void dump(Formatter *f) const - { - f->open_object_section("dentry_damage"); - f->dump_string("damage_type", "dentry"); - f->dump_int("id", id); - f->dump_int("ino", ino); - f->dump_stream("frag") << frag; - f->dump_string("dname", dname); - f->dump_stream("snap_id") << snap_id; - f->close_section(); - } -}; - - -/** - * Record damage to our ability to look up an ino by number - */ -class BacktraceDamage : public DamageEntry -{ - public: - inodeno_t ino; - - BacktraceDamage(inodeno_t ino_) - : ino(ino_) - {} - - virtual damage_entry_type_t get_type() const - { - return DAMAGE_ENTRY_BACKTRACE; - } - - void dump(Formatter *f) const - { - f->open_object_section("backtrace_damage"); - f->dump_string("damage_type", "backtrace"); - f->dump_int("id", id); - f->dump_int("ino", ino); - f->close_section(); - } -}; class DirFragIdent { -- 2.47.3