#include "messages/MOSDOp.h"
#include "messages/MOSDSubOp.h"
#include "include/assert.h"
+#include "osd/osd_types.h"
reqid = static_cast<MOSDSubOp*>(request)->reqid;
}
}
+
+bool OpRequest::check_rmw(int flag) {
+ return rmw_flags & flag;
+}
+bool OpRequest::may_read() { return need_read_cap() || need_class_read_cap(); }
+bool OpRequest::may_write() { return need_write_cap() || need_class_write_cap(); }
+bool OpRequest::includes_pg_op() { return check_rmw(CEPH_OSD_RMW_FLAG_PGOP); }
+bool OpRequest::need_read_cap() {
+ return check_rmw(CEPH_OSD_RMW_FLAG_READ);
+}
+bool OpRequest::need_write_cap() {
+ return check_rmw(CEPH_OSD_RMW_FLAG_WRITE);
+}
+bool OpRequest::need_class_read_cap() {
+ return check_rmw(CEPH_OSD_RMW_FLAG_CLASS_READ);
+}
+bool OpRequest::need_class_write_cap() {
+ return check_rmw(CEPH_OSD_RMW_FLAG_CLASS_WRITE);
+}
+void OpRequest::set_read() { rmw_flags |= CEPH_OSD_RMW_FLAG_READ; }
+void OpRequest::set_write() { rmw_flags |= CEPH_OSD_RMW_FLAG_WRITE; }
+void OpRequest::set_class_read() { rmw_flags |= CEPH_OSD_RMW_FLAG_CLASS_READ; }
+void OpRequest::set_class_write() { rmw_flags |= CEPH_OSD_RMW_FLAG_CLASS_WRITE; }
+void OpRequest::set_pg_op() { rmw_flags |= CEPH_OSD_RMW_FLAG_PGOP; }
// rmw flags
int rmw_flags;
- bool check_rmw(int flag) {
- return rmw_flags & flag;
- }
- bool may_read() { return need_read_cap() || need_class_read_cap(); }
- bool may_write() { return need_write_cap() || need_class_write_cap(); }
- bool includes_pg_op() { return check_rmw(CEPH_OSD_RMW_FLAG_PGOP); }
- bool need_read_cap() {
- return check_rmw(CEPH_OSD_RMW_FLAG_READ);
- }
- bool need_write_cap() {
- return check_rmw(CEPH_OSD_RMW_FLAG_WRITE);
- }
- bool need_class_read_cap() {
- return check_rmw(CEPH_OSD_RMW_FLAG_CLASS_READ);
- }
- bool need_class_write_cap() {
- return check_rmw(CEPH_OSD_RMW_FLAG_CLASS_WRITE);
- }
- void set_read() { rmw_flags |= CEPH_OSD_RMW_FLAG_READ; }
- void set_write() { rmw_flags |= CEPH_OSD_RMW_FLAG_WRITE; }
- void set_class_read() { rmw_flags |= CEPH_OSD_RMW_FLAG_CLASS_READ; }
- void set_class_write() { rmw_flags |= CEPH_OSD_RMW_FLAG_CLASS_WRITE; }
- void set_pg_op() { rmw_flags |= CEPH_OSD_RMW_FLAG_PGOP; }
+ bool check_rmw(int flag);
+ bool may_read();
+ bool may_write();
+ bool includes_pg_op();
+ bool need_read_cap();
+ bool need_write_cap();
+ bool need_class_read_cap();
+ bool need_class_write_cap();
+ void set_read();
+ void set_write();
+ void set_class_read();
+ void set_class_write();
+ void set_pg_op();
void _dump(utime_t now, Formatter *f) const;