Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
OSD: OSDMapRef access by multiple threads is unsafe
we update OSD::osdmap in OSD::_committed_osd_maps() which is executed by objectstore's finisher thread. while PG::sched_scrub() is called by OSD's sharded work queue's worker thread.and we push the osdmap updates down to PGs OSD::consume_map() which is in turn called by OSD::_committed_osd_maps() where osdmap is updated. so it does not big deal if we are checking a stale CEPH_OSDMAP_NODEEP_SCRUB flag. also this flag will be updated with the latest osdmap very soon. Signed-off-by: Kefu Chai <kchai@redhat.com> Signed-off-by: Zengran Zhang <zhangzengran@sangfor.com.cn>
- Loading branch information