]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
DBObjectMap: restructure map_header_in_use locking 2517/head
authorSamuel Just <sam.just@inktank.com>
Wed, 10 Sep 2014 23:50:37 +0000 (16:50 -0700)
committerSamuel Just <sam.just@inktank.com>
Fri, 12 Sep 2014 20:40:01 +0000 (13:40 -0700)
commit28d4460a75fb0db4f4d570a61e5bcbe68b6dc9c6
tree46672a7cd2c97583dc55941521506080f7a76e9d
parente50c426bef4eba5b7f09bdc4e2e4f41ea1120d6b
DBObjectMap: restructure map_header_in_use locking

Tieing map_header_in_use to a _Header is a mistake since ownership of
the map_header_in_use can move (clone).  Instead, grab the
map_header_in_use entry at the top of each call chain and release at the
end.  To facilitate that, we introduce a MapHeaderLock object and
require that it be passed to the various map header manipulation
methods.

Fixes: #9326
Signed-off-by: Samuel Just <sam.just@inktank.com>
src/os/DBObjectMap.cc
src/os/DBObjectMap.h