]> 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)
committerAbhishek Lekshmanan <abhishek.lekshmanan@ril.com>
Wed, 15 Jul 2015 16:37:09 +0000 (22:07 +0530)
Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit f2fbfa32a16666be46359f0eab7b04ca80a753f5)

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

index b82f7e756887b7c5c8e8c0bf3287361900323abc..e6b9ad908563e220d185611b7c77a06f9983dda7 100644 (file)
@@ -575,6 +575,7 @@ OPTION(osd_scrub_thread_suicide_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_age, OPT_FLOAT, .8)
 OPTION(osd_age_time, OPT_INT, 0)
index 01180aef7861346c344bfcf04f53525bbd82709d..3c7198bdf2917dff353bd51c2e7556aef43f5c74 100644 (file)
@@ -1588,7 +1588,11 @@ OSD::OSD(CephContext *cct_, ObjectStore *store_,
     cct->_conf->osd_scrub_thread_timeout,
     cct->_conf->osd_scrub_thread_suicide_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),
   service(this)
 {
   monc->set_messenger(client_messenger);
index a6907351bed50878bd1ffb9fad4e403b51a660c0..6621f2224801924411ff15553c016f63c29f68c0 100644 (file)
@@ -2202,9 +2202,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() {