From: Sage Weil Date: Fri, 10 Oct 2014 23:36:40 +0000 (-0700) Subject: osdc/Objecter: fix tick() session locking X-Git-Tag: v0.87~21^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=72a2ab138b1a8e26366d9be1f7cb5383c2019e65;p=ceph.git osdc/Objecter: fix tick() session locking We need to take the session read lock before traversing the ops lists. Fixes: #9706 Signed-off-by: Sage Weil --- diff --git a/src/osdc/Objecter.cc b/src/osdc/Objecter.cc index a2c4ddb33d2..e56ec7d627b 100644 --- a/src/osdc/Objecter.cc +++ b/src/osdc/Objecter.cc @@ -1563,6 +1563,7 @@ void Objecter::tick() laggy_ops = 0; for (map::iterator siter = osd_sessions.begin(); siter != osd_sessions.end(); ++siter) { OSDSession *s = siter->second; + RWLock::RLocker l(s->lock); for (map::iterator p = s->ops.begin(); p != s->ops.end(); ++p) {