From: Max Kellermann Date: Fri, 4 Oct 2024 20:24:41 +0000 (+0200) Subject: mds/PurgeQueue: include cleanup X-Git-Tag: v20.3.0~40^2~25 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=04fa5c89eaeb448f54ab0fec3f0a75dc4248396b;p=ceph.git mds/PurgeQueue: include cleanup Signed-off-by: Max Kellermann --- diff --git a/src/mds/PurgeQueue.cc b/src/mds/PurgeQueue.cc index ab14113d520d2..386853b220c74 100644 --- a/src/mds/PurgeQueue.cc +++ b/src/mds/PurgeQueue.cc @@ -12,12 +12,16 @@ * */ +#include "PurgeQueue.h" +#include "BatchOp.h" +#include "mds/MDSMap.h" + #include "common/debug.h" +#include "common/Formatter.h" #include "mds/mdstypes.h" #include "mds/CInode.h" -#include "mds/MDCache.h" - -#include "PurgeQueue.h" +#include "osdc/Objecter.h" +#include "osdc/Striper.h" #define dout_context cct #define dout_subsys ceph_subsys_mds @@ -99,6 +103,22 @@ void PurgeItem::decode(bufferlist::const_iterator &p) DECODE_FINISH(p); } +void PurgeItem::dump(Formatter *f) const +{ + f->dump_int("action", action); + f->dump_int("ino", ino); + f->dump_int("size", size); + f->open_object_section("layout"); + layout.dump(f); + f->close_section(); + f->open_object_section("SnapContext"); + snapc.dump(f); + f->close_section(); + f->open_object_section("fragtree"); + fragtree.dump(f); + f->close_section(); +} + void PurgeItem::generate_test_instances(std::list& ls) { ls.push_back(new PurgeItem()); ls.push_back(new PurgeItem()); @@ -110,6 +130,7 @@ void PurgeItem::generate_test_instances(std::list& ls) { ls.back()->snapc = SnapContext(); ls.back()->stamp = utime_t(3, 4); } + // if Objecter has any slow requests, take that as a hint and // slow down our rate of purging PurgeQueue::PurgeQueue( diff --git a/src/mds/PurgeQueue.h b/src/mds/PurgeQueue.h index bbf260ae70d74..8796ea5d0948a 100644 --- a/src/mds/PurgeQueue.h +++ b/src/mds/PurgeQueue.h @@ -15,11 +15,22 @@ #ifndef PURGE_QUEUE_H_ #define PURGE_QUEUE_H_ -#include "include/compact_set.h" +#include "mds/mdstypes.h" #include "common/Finisher.h" -#include "mds/MDSMap.h" +#include "common/snap_types.h" // for class SnapContext #include "osdc/Journaler.h" +#include "include/frag.h" +#include +#include +#include +#include +#include +#include +#include + +namespace ceph { class Formatter; } +class MDSMap; /** * Descriptor of the work associated with purging a file. We record @@ -46,21 +57,7 @@ public: return PurgeItem::actions.at(std::string(str)); } - void dump(Formatter *f) const - { - f->dump_int("action", action); - f->dump_int("ino", ino); - f->dump_int("size", size); - f->open_object_section("layout"); - layout.dump(f); - f->close_section(); - f->open_object_section("SnapContext"); - snapc.dump(f); - f->close_section(); - f->open_object_section("fragtree"); - fragtree.dump(f); - f->close_section(); - } + void dump(Formatter *f) const; static void generate_test_instances(std::list& ls); std::string_view get_type_str() const;