]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
OSD: move waiting_for_pg into the session structures 2226/head
authorSamuel Just <sam.just@inktank.com>
Mon, 4 Aug 2014 22:30:41 +0000 (15:30 -0700)
committerSamuel Just <sam.just@inktank.com>
Thu, 7 Aug 2014 22:54:38 +0000 (15:54 -0700)
commit2120f4bb6c5ba0f066d4541a51ce1d43c8ab6881
tree6b4ba33ea6699b47dc5591450f196f3276828bdf
parent11cefcab239cd7fbb1a98c96ee2bb2946851387f
OSD: move waiting_for_pg into the session structures

Each message belongs to a session.  Further, no ordering is implied
between messages which arrived on different sessions.  Breaking the
global waiting_for_pg structure into a per-session structure lets
us avoid the problem of taking a write lock on a global structure
(pg_map_lock) in get_pg_or_queue_for_pg at the cost of some
complexity in updating each session's waiting_for_pg structure when
we receive a new map (due to pg splits) or when we locally create
a pg.

Signed-off-by: Samuel Just <sam.just@inktank.com>
src/osd/OSD.cc
src/osd/OSD.h