int rc;
ENTRY;
- fmkey->oa.o_oi = cl2osc(obj)->oo_oinfo->loi_oi;
- if (!(fmkey->fiemap.fm_flags & FIEMAP_FLAG_SYNC))
+ fmkey->lfik_oa.o_oi = cl2osc(obj)->oo_oinfo->loi_oi;
+ if (!(fmkey->lfik_fiemap.fm_flags & FIEMAP_FLAG_SYNC))
goto skip_locking;
- policy.l_extent.start = fmkey->fiemap.fm_start & PAGE_CACHE_MASK;
+ policy.l_extent.start = fmkey->lfik_fiemap.fm_start & PAGE_CACHE_MASK;
- if (OBD_OBJECT_EOF - fmkey->fiemap.fm_length <=
- fmkey->fiemap.fm_start + PAGE_CACHE_SIZE - 1)
+ if (OBD_OBJECT_EOF - fmkey->lfik_fiemap.fm_length <=
+ fmkey->lfik_fiemap.fm_start + PAGE_CACHE_SIZE - 1)
policy.l_extent.end = OBD_OBJECT_EOF;
else
- policy.l_extent.end = (fmkey->fiemap.fm_start +
- fmkey->fiemap.fm_length +
+ policy.l_extent.end = (fmkey->lfik_fiemap.fm_start +
+ fmkey->lfik_fiemap.fm_length +
PAGE_CACHE_SIZE - 1) & PAGE_CACHE_MASK;
- ostid_build_res_name(&fmkey->oa.o_oi, &resid);
+ ostid_build_res_name(&fmkey->lfik_oa.o_oi, &resid);
mode = ldlm_lock_match(exp->exp_obd->obd_namespace,
LDLM_FL_BLOCK_GRANTED | LDLM_FL_LVB_READY,
&resid, LDLM_EXTENT, &policy,
ldlm_lock_decref(&lockh, LCK_PW);
}
} else { /* no cached lock, needs acquire lock on server side */
- fmkey->oa.o_valid |= OBD_MD_FLFLAGS;
- fmkey->oa.o_flags |= OBD_FL_SRVLOCK;
+ fmkey->lfik_oa.o_valid |= OBD_MD_FLFLAGS;
+ fmkey->lfik_oa.o_flags |= OBD_FL_SRVLOCK;
}
skip_locking:
RETURN(rc);
}
-static int osc_object_obd_info_get(const struct lu_env *env,
- struct cl_object *obj,
- struct obd_info *oinfo,
- struct ptlrpc_request_set *set)
-{
- struct ptlrpc_request *req;
- struct osc_async_args *aa;
- int rc;
- ENTRY;
-
- req = ptlrpc_request_alloc(class_exp2cliimp(osc_export(cl2osc(obj))),
- &RQF_OST_GETATTR);
- if (req == NULL)
- RETURN(-ENOMEM);
-
- osc_set_capa_size(req, &RMF_CAPA1, oinfo->oi_capa);
- rc = ptlrpc_request_pack(req, LUSTRE_OST_VERSION, OST_GETATTR);
- if (rc != 0) {
- ptlrpc_request_free(req);
- RETURN(rc);
- }
-
- osc_pack_req_body(req, oinfo);
-
- ptlrpc_request_set_replen(req);
- req->rq_interpret_reply = (ptlrpc_interpterer_t)osc_getattr_interpret;
-
- CLASSERT(sizeof(*aa) <= sizeof(req->rq_async_args));
- aa = ptlrpc_req_async_args(req);
- aa->aa_oi = oinfo;
-
- ptlrpc_set_add_req(set, req);
- RETURN(0);
-}
-
void osc_object_set_contended(struct osc_object *obj)
{
obj->oo_contention_time = cfs_time_current();
.coo_prune = osc_object_prune,
.coo_find_cbdata = osc_object_find_cbdata,
.coo_fiemap = osc_object_fiemap,
- .coo_obd_info_get = osc_object_obd_info_get,
};
static const struct lu_object_operations osc_lu_obj_ops = {