]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
librbd: improve object map performance under high IOPS workloads 28136/head
authorJason Dillaman <dillaman@redhat.com>
Thu, 28 Feb 2019 21:43:27 +0000 (16:43 -0500)
committerJason Dillaman <dillaman@redhat.com>
Wed, 15 May 2019 21:26:55 +0000 (17:26 -0400)
commit4be192e4d20d3823780eb5b257f8da1b5af64f77
treea7444ae34be3f0b666fa19cba60d2a48f8de8e32
parent2bb04a30ed0a4331092a8633c716caa0fdd2ea61
librbd: improve object map performance under high IOPS workloads

Do not zero-fill the BitVector's bitset prior to decoding the data.
Additionally, only read-update-modify the portions of the footer
that are potentially affected by the updated state.

Fixes: http://tracker.ceph.com/issues/38538
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 071671fff64f27943047610fe075a7e98f0f705c)

Conflicts:
src/cls/rbd/cls_rbd.cc
src/cls/rbd/cls_rbd_client.h
src/common/bit_vector.hpp
src/test/common/test_bit_vector.cc
src/test/librbd/test_ObjectMap.cc
Trivial conflicts with bufferlist::begin/cbegin and assert/ceph_assert
src/cls/rbd/cls_rbd.cc
src/cls/rbd/cls_rbd_client.cc
src/cls/rbd/cls_rbd_client.h
src/common/bit_vector.hpp
src/test/cls_rbd/test_cls_rbd.cc
src/test/common/test_bit_vector.cc
src/test/librbd/test_ObjectMap.cc