]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd: don't require RWEXCL lock for stat+write ops. 54593/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:21:26 +0000 (13:21 +0100)
commit79bf6fcea7244b999c7ee2d5f718c034c8a7742b
tree6d25529b63fe56b56240ce46a0992f0e4cefcc49
parenta99927f2d61088ba6457500b145e427d29457574
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)

Conflicts:
src/osd/PrimaryLogPG.cc [ commit dfca9f8c0d8b ("osd: move
  PrimaryLogPG::get_rw_locks() from header to .cc.") not in
  pacific ]
src/osd/OpRequest.h
src/osd/PrimaryLogPG.h
src/osd/osd_op_util.cc
src/osd/osd_op_util.h
src/osd/osd_types.h