Option("osd_recovery_sleep", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED)
.set_default(0)
- .set_description(""),
+ .set_description("Time in seconds to sleep before next recovery or backfill op"),
Option("osd_recovery_sleep_hdd", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED)
.set_default(0.1)
- .set_description(""),
+ .set_description("Time in seconds to sleep before next recovery or backfill op for HDDs"),
Option("osd_recovery_sleep_ssd", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED)
.set_default(0)
- .set_description(""),
+ .set_description("Time in seconds to sleep before next recovery or backfill op for SSDs"),
+
+ Option("osd_recovery_sleep_hybrid", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED)
+ .set_default(0.025)
+ .set_description("Time in seconds to sleep before next recovery or backfill op when data is on HDD and journal is on SSD"),
Option("osd_snap_trim_sleep", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED)
.set_default(0)
{
if (cct->_conf->osd_recovery_sleep)
return cct->_conf->osd_recovery_sleep;
- if (store_is_rotational)
+ if (store_is_rotational && journal_is_rotational)
return cct->_conf->osd_recovery_sleep_hdd;
+ else if (store_is_rotational && !journal_is_rotational)
+ return cct->_conf->get_val<double>("osd_recovery_sleep_hybrid");
else
return cct->_conf->osd_recovery_sleep_ssd;
}