]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
OSD: avoid FileStore finisher deadlock in osd_lock when shutdown OSD 11052/head
authorHaomai Wang <haomai@xsky.com>
Mon, 12 Sep 2016 10:09:00 +0000 (18:09 +0800)
committerHaomai Wang <haomai@xsky.com>
Mon, 12 Sep 2016 10:09:00 +0000 (18:09 +0800)
commitaa8f2f138cc633292376dd1f449c7ebfc8a37910
tree0f544e39af2e8757e9265d8049d850fb48e7c25e
parentccd7cd17a24b9e7037993b2576c960da92041977
OSD: avoid FileStore finisher deadlock in osd_lock when shutdown OSD

When OSD receive signal to shutdown, it will try to call ObjectStore->flush
to make sure all pending IO done. But previous OSDMap committing IO may
complete Context in OSD::_committed_osd_maps which need to acquire osd_lock
firstly. So OSD shutdown thread need to wait for finisher done, and finisher
is acquiring osd_lock. dead lock happended

Signed-off-by: Haomai Wang <haomai@xsky.com>
src/osd/OSD.cc