ceph/src/osd
Sage Weil 0d98fc6ffd osd: keep recovery ops in sync with pull
Call start_recovery_op from pull() instead of fixing every caller (some
were wrong).  This keeps the recovery state in sync with pulling state,
even when pull() has to pull something different (head, snapdir) first.

Fixes this crash:
osd/PG.cc: In function 'void PG::finish_recovery_op(const sobject_t&, bool)':
osd/PG.cc:1842: FAILED assert(recovering_oids.count(soid))
 1: (PG::finish_recovery_op(sobject_t const&, bool)+0x14e) [0x74caf6]
 2: (ReplicatedPG::sub_op_push(MOSDSubOp*)+0x1da8) [0x669292]
 3: (ReplicatedPG::do_sub_op(MOSDSubOp*)+0x109) [0x671a73]
 4: (OSD::dequeue_op(PG*)+0x23c) [0x6bda00]
 5: (OSD::OpWQ::_process(PG*)+0x21) [0x7387c9]
 6: (ThreadPool::WorkQueue<PG>::_void_process(void*)+0x28) [0x6f5e12]
 7: (ThreadPool::worker()+0x23a) [0x7f2404]
 8: (ThreadPool::WorkThread::entry()+0x19) [0x73b783]
 9: (Thread::_entry_func(void*)+0x20) [0x64f92a]
 10: /lib/libpthread.so.0 [0x7f7a12cf473a]
 11: (clone()+0x6d) [0x7f7a11f1e69d]
2010-05-24 14:00:43 -07:00
..
Ager.cc replace sprintf with snprintf all around 2010-01-14 16:11:51 -08:00
Ager.h
ObjectVersioner.h
osd_types.h osd: make build_removed_snaps, is_removed_snap consistent 2010-05-19 10:42:20 -07:00
OSD.cc osd: simplify --mkjournal, add --flush-journal 2010-05-20 10:58:56 -07:00
OSD.h osd: simplify --mkjournal, add --flush-journal 2010-05-20 10:58:56 -07:00
OSDCaps.cc types: standardize on uint64_t 2010-05-07 14:50:20 -07:00
OSDCaps.h types: standardize on uint64_t 2010-05-07 14:50:20 -07:00
OSDMap.cc reword blacklisted output so it's clearly discussing MDSes and not OSDs 2010-05-23 15:13:33 -07:00
OSDMap.h Merge branch 'string' into unstable 2010-05-07 15:00:22 -07:00
PG.cc osd: purged_snaps in PG::Info, queue snap trim on primary 2010-05-15 20:55:44 -07:00
PG.h osd: use blank reqid for snapdir events, too 2010-05-19 16:11:10 -07:00
PGLS.h types: standardize on uint64_t 2010-05-07 14:50:20 -07:00
RAID4PG.cc debug: include timestamp + thread in _all_ debug output 2010-03-24 11:54:44 -07:00
RAID4PG.h
ReplicatedPG.cc osd: keep recovery ops in sync with pull 2010-05-24 14:00:43 -07:00
ReplicatedPG.h osd: trim snaps via replicated osd ops 2010-05-19 10:53:32 -07:00