We already have one exported wrapper around it for extent.osd_data and rbd_object_map_update_finish() needs another one for cls.request_data.
Showing the changes to include/linux (1 of 2 files). Show all
Unified · Split
| @@ -389,6 +389,14 @@ extern void ceph_osdc_handle_map(struct ceph_osd_client *osdc, · 388 unmodified lines | |||
| 389 | void ceph_osdc_update_epoch_barrier(struct ceph_osd_client *osdc, u32 eb); | 389 | void ceph_osdc_update_epoch_barrier(struct ceph_osd_client *osdc, u32 eb); |
| 390 | void ceph_osdc_abort_requests(struct ceph_osd_client *osdc, int err); | 390 | void ceph_osdc_abort_requests(struct ceph_osd_client *osdc, int err); |
| 391 | 391 | ||
| 392 | #define osd_req_op_data(oreq, whch, typ, fld) \ | ||
| 393 | ({ \ | ||
| 394 | struct ceph_osd_request *__oreq = (oreq); \ | ||
| 395 | unsigned int __whch = (whch); \ | ||
| 396 | BUG_ON(__whch >= __oreq->r_num_ops); \ | ||
| 397 | &__oreq->r_ops[__whch].typ.fld; \ | ||
| 398 | }) | ||
| 399 | |||
| 392 | extern void osd_req_op_init(struct ceph_osd_request *osd_req, | 400 | extern void osd_req_op_init(struct ceph_osd_request *osd_req, |
| 393 | unsigned int which, u16 opcode, u32 flags); | 401 | unsigned int which, u16 opcode, u32 flags); |
| 394 | 402 | ||