// client flags have no bearing on whether an op is a read, write, etc.
op->rmw_flags = 0;
+ if (m->has_flag(CEPH_OSD_FLAG_RWORDERED)) {
+ op->set_force_rwordered();
+ }
+
// set bits based on op codes, called methods.
for (iter = m->ops.begin(); iter != m->ops.end(); ++iter) {
if ((iter->op.op == CEPH_OSD_OP_WATCH &&
return need_write_cap() || check_rmw(CEPH_OSD_RMW_FLAG_CLASS_WRITE);
}
bool OpRequest::may_cache() { return check_rmw(CEPH_OSD_RMW_FLAG_CACHE); }
-bool OpRequest::rwordered_forced() { return check_rmw(CEPH_OSD_RMW_FLAG_CACHE); }
+bool OpRequest::rwordered_forced() {
+ return check_rmw(CEPH_OSD_RMW_FLAG_RWORDERED);
+}
bool OpRequest::rwordered() {
return may_write() || may_cache() || rwordered_forced();
}