summaryrefslogtreecommitdiffstats
path: root/src/mds/StrayManager.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mds/StrayManager.h')
-rw-r--r--src/mds/StrayManager.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/mds/StrayManager.h b/src/mds/StrayManager.h
index f10e4246cec..a1e3bc02bfc 100644
--- a/src/mds/StrayManager.h
+++ b/src/mds/StrayManager.h
@@ -22,7 +22,7 @@ class PerfCounters;
class CInode;
class CDentry;
-class StrayManager
+class StrayManager : public md_config_obs_t
{
protected:
class QueuedStray {
@@ -48,6 +48,9 @@ class StrayManager
uint64_t ops_in_flight;
uint64_t files_purging;
+ // Dynamic op limit per MDS based on PG count
+ uint64_t max_purge_ops;
+
// Statistics
uint64_t num_strays;
uint64_t num_strays_purging;
@@ -87,6 +90,11 @@ class StrayManager
void notify_stray_created();
void notify_stray_removed();
void abort_queue();
+
+ void update_op_limit();
+ virtual const char** get_tracked_conf_keys() const;
+ virtual void handle_conf_change(const struct md_config_t *conf,
+ const std::set <std::string> &changed);
};
#endif // STRAY_MANAGER_H