]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd: don't require RWEXCL lock for stat+write ops. 54594/head
authorAlice Zhao <brucen1030@163.com>
Mon, 11 Apr 2022 12:35:57 +0000 (08:35 -0400)
committerIlya Dryomov <idryomov@gmail.com>
Tue, 21 Nov 2023 12:13:48 +0000 (13:13 +0100)
commitff2a32c8d635c8d6f17e5e3b287473ddd5abe3b6
treeedf11252494b2cf3c805e3ba35e19b54e7b0764a
parentf95193d955a404cc2e200f89202430bb479bab04
osd: don't require RWEXCL lock for stat+write ops.
In librbd, a stat op is inserted before write op for cloned image. OSD used to use RWEXCL and such requests are processed one by one.
With this fix, OSD will use RWWRITE rather than RWEXCL for such [stat,write] request to allow multiple [stat,write] on the same object and improve performance.

Signed-off-by: Alice Zhao <brucen1030@163.com>
(cherry picked from commit 9be266b0a0304aaaaa0ca12f28fcd3e9cce1f9d7)
src/osd/OpRequest.h
src/osd/PrimaryLogPG.cc
src/osd/osd_op_util.cc
src/osd/osd_op_util.h
src/osd/osd_types.h