]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
BlueFS: fix race condition
authorxie xingguo <xie.xingguo@zte.com.cn>
Sat, 23 Jan 2016 02:50:04 +0000 (10:50 +0800)
committerxie xingguo <xie.xingguo@zte.com.cn>
Wed, 3 Feb 2016 01:59:17 +0000 (09:59 +0800)
Fixes: #14480
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
src/os/bluestore/BlueFS.cc

index 350ea8d63e88fe2fca88855756dfb7d94a71178f..759d2c8918b027360c85e2ab1a5302b04fbd8b00 100644 (file)
@@ -83,6 +83,7 @@ void BlueFS::add_block_extent(unsigned id, uint64_t offset, uint64_t length)
 int BlueFS::reclaim_blocks(unsigned id, uint64_t want,
                           uint64_t *offset, uint32_t *length)
 {
+  std::lock_guard<std::mutex> l(lock);
   dout(1) << __func__ << " bdev " << id << " want " << want << dendl;
   assert(id < alloc.size());
   int r = alloc[id]->reserve(want);