Signed-off-by: David Zafman <david.zafman@inktank.com>
recovery_wq.unlock();
}
-void OSD::defer_recovery(PG *pg)
-{
- dout(10) << "defer_recovery " << *pg << dendl;
-
- // move pg to the end of the queue...
- recovery_wq.queue(pg);
-}
-
-
// =========================================================
// OPS
void start_recovery_op(PG *pg, const hobject_t& soid);
void finish_recovery_op(PG *pg, const hobject_t& soid, bool dequeue);
- void defer_recovery(PG *pg);
void do_recovery(PG *pg);
bool _recover_now();
dirty_log = true;
}
-void PG::defer_recovery()
-{
- // TODOSAM: osd->osd-> not good
- osd->osd->defer_recovery(this);
-}
-
void PG::clear_recovery_state()
{
dout(10) << "clear_recovery_state" << dendl;
void cancel_recovery();
void clear_recovery_state();
virtual void _clear_recovery_state() = 0;
- void defer_recovery();
virtual void check_recovery_sources(const OSDMapRef newmap) = 0;
void start_recovery_op(const hobject_t& soid);
void finish_recovery_op(const hobject_t& soid, bool dequeue=false);