void mdc_swap_layouts_pack(struct ptlrpc_request *req, struct md_op_data *op_data) { struct mdt_body *b = req_capsule_client_get(&req->rq_pill, &RMF_MDT_BODY); __mdc_pack_body(b, op_data->op_suppgids[0]); b->mbo_fid1 = op_data->op_fid1; b->mbo_fid2 = op_data->op_fid2; b->mbo_valid |= OBD_MD_FLID; }
void mdc_readdir_pack(struct ptlrpc_request *req, __u64 pgoff, size_t size, const struct lu_fid *fid) { struct mdt_body *b = req_capsule_client_get(&req->rq_pill, &RMF_MDT_BODY); b->mbo_fid1 = *fid; b->mbo_valid |= OBD_MD_FLID; b->mbo_size = pgoff; /* !! */ b->mbo_nlink = size; /* !! */ __mdc_pack_body(b, -1); b->mbo_mode = LUDA_FID | LUDA_TYPE; }
void mdc_readdir_pack(struct ptlrpc_request *req, __u64 pgoff, __u32 size, const struct lu_fid *fid, struct obd_capa *oc) { struct mdt_body *b = req_capsule_client_get(&req->rq_pill, &RMF_MDT_BODY); b->fid1 = *fid; b->valid |= OBD_MD_FLID; b->size = pgoff; /* !! */ b->nlink = size; /* !! */ __mdc_pack_body(b, -1); b->mode = LUDA_FID | LUDA_TYPE; mdc_pack_capa(req, &RMF_CAPA1, oc); }
void mdc_pack_body(struct ptlrpc_request *req, const struct lu_fid *fid, u64 valid, size_t ea_size, u32 suppgid, u32 flags) { struct mdt_body *b = req_capsule_client_get(&req->rq_pill, &RMF_MDT_BODY); LASSERT(b != NULL); b->mbo_valid = valid; b->mbo_eadatasize = ea_size; b->mbo_flags = flags; __mdc_pack_body(b, suppgid); if (fid) { b->mbo_fid1 = *fid; b->mbo_valid |= OBD_MD_FLID; } }
void mdc_pack_body(struct ptlrpc_request *req, const struct lu_fid *fid, struct obd_capa *oc, __u64 valid, int ea_size, __u32 suppgid, int flags) { struct mdt_body *b = req_capsule_client_get(&req->rq_pill, &RMF_MDT_BODY); LASSERT(b != NULL); b->valid = valid; b->eadatasize = ea_size; b->flags = flags; __mdc_pack_body(b, suppgid); if (fid) { b->fid1 = *fid; b->valid |= OBD_MD_FLID; mdc_pack_capa(req, &RMF_CAPA1, oc); } }