From: Yuri Weinstein Date: Fri, 19 May 2023 16:10:20 +0000 (-0400) Subject: Merge pull request #45852 from brucen1030/wip_optimize_excl_lock_for_librbd X-Git-Tag: v19.0.0~1190 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=01ff82f41f83557a1be13c78d1463999f0e84a47;p=ceph.git Merge pull request #45852 from brucen1030/wip_optimize_excl_lock_for_librbd osd: don't require RWEXCL lock for stat+write ops Reviewed-by: Ilya Dryomov --- 01ff82f41f83557a1be13c78d1463999f0e84a47 diff --cc src/osd/osd_op_util.cc index 54d47fecd2b,d400a94dbf4..97cc853e8d9 --- a/src/osd/osd_op_util.cc +++ b/src/osd/osd_op_util.cc @@@ -108,9 -120,17 +120,13 @@@ int OpInfo::set_from_op if (ceph_osd_op_mode_modify(iter->op.op)) set_write(); } - if (ceph_osd_op_mode_read(iter->op.op)) + if (ceph_osd_op_mode_read(iter->op.op)) { set_read(); + if (iter->op.op != CEPH_OSD_OP_STAT) { + set_read_data(); + } + } - // set READ flag if there are src_oids - if (iter->soid.oid.name.length()) - set_read(); - // set PGOP flag if there are PG ops if (ceph_osd_op_type_pg(iter->op.op)) set_pg_op();