OSD developer documentation Asynchronous RecoveryErasure Coded Placement Groups Table of content IntroductionErasure code library Jerasure plugin ECBackend Implementation Strategy PGTemp and CrushObject ClassesCrush MAIN OPERATION OVERVIEW READ-MODIFY-WRITEExtentCache last_epoch_started OverviewMOSDPGOp/MOSDPGSubOpPeering Messages Concepts OSD Throttles op_queue_throttle Partial Object Recovery PG PG RemovalRecovery Reservation Things to Note Scrub internals and diagnostics State variables Snaps Ondisk StructuresRecoverySplit readable_untilPG “laggy” stateDead OSDs OverviewNotify Lifecycle