It doesn't block anything other than the umount caller itself.
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
int MemStore::_save()
{
dout(10) << __func__ << dendl;
- Mutex::Locker l(apply_lock); // block any writer
dump_all();
set<coll_t> collections;
for (ceph::unordered_map<coll_t,CollectionRef>::iterator p = coll_map.begin();
ceph::unordered_map<coll_t, CollectionRef> coll_map;
RWLock coll_lock; ///< rwlock to protect coll_map
- Mutex apply_lock; ///< serialize all updates
CollectionRef get_collection(coll_t cid);
: ObjectStore(path),
cct(cct),
coll_lock("MemStore::coll_lock"),
- apply_lock("MemStore::apply_lock"),
finisher(cct),
used_bytes(0) {}
~MemStore() { }