-static inline void ofd_fid_from_resid(struct lu_fid *fid,
- const struct ldlm_res_id *name)
-{
- /* if seq is FID_SEQ_OST_MDT0 then we have IDIF and resid was built
- * using osc_build_res_name function. */
- if (fid_seq_is_mdt0(name->name[LUSTRE_RES_ID_VER_OID_OFF])) {
- struct ost_id ostid;
-
- ostid.oi_id = name->name[LUSTRE_RES_ID_SEQ_OFF];
- ostid.oi_seq = name->name[LUSTRE_RES_ID_VER_OID_OFF];
- fid_ostid_unpack(fid, &ostid, 0);
- } else {
- fid->f_seq = name->name[LUSTRE_RES_ID_SEQ_OFF];
- fid->f_oid = (__u32)name->name[LUSTRE_RES_ID_VER_OID_OFF];
- fid->f_ver = name->name[LUSTRE_RES_ID_VER_OID_OFF] >> 32;
+ info = ofd_info(tsi->tsi_env);
+ LASSERT(info->fti_exp == NULL);
+ LASSERT(info->fti_env == NULL);
+ LASSERT(info->fti_attr.la_valid == 0);
+
+ info->fti_env = tsi->tsi_env;
+ info->fti_exp = tsi->tsi_exp;
+
+ info->fti_xid = req->rq_xid;
+ /** VBR: take versions from request */
+ if (req->rq_reqmsg != NULL &&
+ lustre_msg_get_flags(req->rq_reqmsg) & MSG_REPLAY) {
+ __u64 *pre_version = lustre_msg_get_versions(req->rq_reqmsg);
+
+ info->fti_pre_version = pre_version ? pre_version[0] : 0;