]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
OSD: add remove_wq suicide timeout
authorSamuel Just <sjust@redhat.com>
Wed, 6 May 2015 17:54:31 +0000 (10:54 -0700)
committerNathan Cutler <ncutler@suse.com>
Sun, 6 Sep 2015 13:35:33 +0000 (15:35 +0200)
Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit f2fbfa32a16666be46359f0eab7b04ca80a753f5)

Conflicts:
src/osd/OSD.cc
           No next_removal_seq(0) in master

src/common/config_opts.h
src/osd/OSD.cc
src/osd/OSD.h

index ca849991f2bddc9bb6290402ca2ea10cba45d812..77fdc22a82666bc621acfbc0ae62b42454dcef34 100644 (file)
@@ -485,6 +485,7 @@ OPTION(osd_scrub_thread_timeout, OPT_INT, 60)
 OPTION(osd_scrub_finalize_thread_timeout, OPT_INT, 60*10)
 OPTION(osd_scrub_invalid_stats, OPT_BOOL, true)
 OPTION(osd_remove_thread_timeout, OPT_INT, 60*60)
+OPTION(osd_remove_thread_suicide_timeout, OPT_INT, 10*60*60)
 OPTION(osd_command_thread_timeout, OPT_INT, 10*60)
 OPTION(osd_command_thread_suicide_timeout, OPT_INT, 15*60)
 OPTION(osd_age, OPT_FLOAT, .8)
index 97ed2911a819e6f24bcef1e0c7ab21620d9fc23b..74d90d8829fc18812509db685d5aa616f1cfffa2 100644 (file)
@@ -973,7 +973,11 @@ OSD::OSD(CephContext *cct_, ObjectStore *store_,
   scrub_wq(this, cct->_conf->osd_scrub_thread_timeout, &disk_tp),
   scrub_finalize_wq(cct->_conf->osd_scrub_finalize_thread_timeout, &op_tp),
   rep_scrub_wq(this, cct->_conf->osd_scrub_thread_timeout, &disk_tp),
-  remove_wq(store, cct->_conf->osd_remove_thread_timeout, &disk_tp),
+  remove_wq(
+    store,
+    cct->_conf->osd_remove_thread_timeout,
+    cct->_conf->osd_remove_thread_suicide_timeout,
+    &disk_tp),
   next_removal_seq(0),
   service(this)
 {
index 3ebf6549023033e69924e8306952203267be5052..10828f26aeee1211aaaaef83c852ea2078e155d4 100644 (file)
@@ -1901,9 +1901,9 @@ protected:
     public ThreadPool::WorkQueueVal<pair<PGRef, DeletingStateRef> > {
     ObjectStore *&store;
     list<pair<PGRef, DeletingStateRef> > remove_queue;
-    RemoveWQ(ObjectStore *&o, time_t ti, ThreadPool *tp)
+    RemoveWQ(ObjectStore *&o, time_t ti, time_t si, ThreadPool *tp)
       : ThreadPool::WorkQueueVal<pair<PGRef, DeletingStateRef> >(
-       "OSD::RemoveWQ", ti, 0, tp),
+       "OSD::RemoveWQ", ti, si, tp),
        store(o) {}
 
     bool _empty() {