osd: don't require RWEXCL lock for stat+write ops
Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
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();