diff options
author | John Spray <john.spray@redhat.com> | 2015-02-10 15:16:34 +0100 |
---|---|---|
committer | John Spray <john.spray@redhat.com> | 2015-03-20 13:32:47 +0100 |
commit | 91867b2b74a7f9d3d38fb4714802bab03428be7b (patch) | |
tree | 162c20ada4950a7b993e180da0460b8c38672dcd /src/mds/StrayManager.h | |
parent | mds: throttle purge stray operations (diff) | |
download | ceph-91867b2b74a7f9d3d38fb4714802bab03428be7b.tar.xz ceph-91867b2b74a7f9d3d38fb4714802bab03428be7b.zip |
mds: make purge op limit dynamic based on PGs/MDSs
Signed-off-by: John Spray <john.spray@redhat.com>
Diffstat (limited to 'src/mds/StrayManager.h')
-rw-r--r-- | src/mds/StrayManager.h | 10 |
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 |