Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nautilus: osd: OSDMapRef access by multiple threads is unsafe #27402

Merged
merged 1 commit into from Apr 10, 2019

Commits on Apr 5, 2019

  1. 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>
    (cherry picked from commit 454c4cb)
    
    # Conflicts:
    #	src/osd/OSD.cc
     - trivial conflict from adjacent code in OSDService::shutdown()
    liewegas committed Apr 5, 2019
    Configuration menu
    Copy the full SHA
    ed6bc9f View commit details
    Browse the repository at this point in the history