Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit
df4e5de819c30003cfbe50a071c49039cf534419)
Conflicts:
src/common/config_opts.h
place OPTION(osd_command_thread_suicide_timeout, ...)
directly after OPTION(osd_command_thread_timeout, ...)
OPTION(osd_scrub_invalid_stats, OPT_BOOL, true)
OPTION(osd_remove_thread_timeout, OPT_INT, 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)
OPTION(osd_age_time, OPT_INT, 0)
OPTION(osd_heartbeat_addr, OPT_ADDR, entity_addr_t())
pg_stat_queue_lock("OSD::pg_stat_queue_lock"),
osd_stat_updated(false),
pg_stat_tid(0), pg_stat_tid_flushed(0),
- command_wq(this, cct->_conf->osd_command_thread_timeout, &command_tp),
+ command_wq(
+ this,
+ cct->_conf->osd_command_thread_timeout,
+ cct->_conf->osd_command_thread_suicide_timeout,
+ &command_tp),
recovery_ops_active(0),
recovery_wq(this, cct->_conf->osd_recovery_thread_timeout, &recovery_tp),
replay_queue_lock("OSD::replay_queue_lock"),
list<Command*> command_queue;
struct CommandWQ : public ThreadPool::WorkQueue<Command> {
OSD *osd;
- CommandWQ(OSD *o, time_t ti, ThreadPool *tp)
- : ThreadPool::WorkQueue<Command>("OSD::CommandWQ", ti, 0, tp), osd(o) {}
+ CommandWQ(OSD *o, time_t ti, time_t si, ThreadPool *tp)
+ : ThreadPool::WorkQueue<Command>("OSD::CommandWQ", ti, si, tp), osd(o) {}
bool _empty() {
return osd->command_queue.empty();