From: xie xingguo Date: Wed, 18 May 2016 01:57:30 +0000 (+0800) Subject: os/bluestore/BitAllocator: fix race condition for check_bit() X-Git-Tag: v11.0.0~367^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=775307c613e41ce0bf205f487f0bc33c0bc32b98;p=ceph.git os/bluestore/BitAllocator: fix race condition for check_bit() Signed-off-by: xie xingguo --- diff --git a/src/os/bluestore/BitAllocator.cc b/src/os/bluestore/BitAllocator.cc index f72131d83e47..4d419d4f1947 100644 --- a/src/os/bluestore/BitAllocator.cc +++ b/src/os/bluestore/BitAllocator.cc @@ -128,7 +128,7 @@ bmap_t BmapEntry::bit_mask(int bit) } bool BmapEntry::check_bit(int bit) { - return (m_bits & bit_mask(bit)); + return (atomic_fetch() & bit_mask(bit)); } bmap_t BmapEntry::atomic_fetch()