#include <cl_object.h>
Data Fields | |
| int(* | cro_prep )(const struct lu_env *env, const struct cl_req_slice *slice) |
| Invoked top-to-bottom by cl_req_prep() when transfer formation is complete (all pages are added). | |
| void(* | cro_attr_set )(const struct lu_env *env, const struct cl_req_slice *slice, const struct cl_object *obj, struct cl_req_attr *attr, obd_valid flags) |
| Called top-to-bottom to fill in oa fields. | |
| void(* | cro_completion )(const struct lu_env *env, const struct cl_req_slice *slice, int ioret) |
| Called top-to-bottom from cl_req_completion() to notify layers that transfer completed. | |
Concurrency: transfer formation engine synchronizes calls to all transfer methods.
| void(* cl_req_operations::cro_attr_set)(const struct lu_env *env, const struct cl_req_slice *slice, const struct cl_object *obj, struct cl_req_attr *attr, obd_valid flags) |
Called top-to-bottom to fill in oa fields.
This is called twice with different flags, see bug 10150 and osc_build_req().
| obj | an object from cl_req which attributes are to be set in oa. | |
| oa | struct obdo where attributes are placed | |
| flags | oa fields to be filled. |
| void(* cl_req_operations::cro_completion)(const struct lu_env *env, const struct cl_req_slice *slice, int ioret) |
Called top-to-bottom from cl_req_completion() to notify layers that transfer completed.
Has to free all state allocated by cl_device_operations::cdo_req_init().
| int(* cl_req_operations::cro_prep)(const struct lu_env *env, const struct cl_req_slice *slice) |
Invoked top-to-bottom by cl_req_prep() when transfer formation is complete (all pages are added).