memcpy(tmp_oa, src_oa, sizeof(*tmp_oa));
/* XXX: LOV STACKING: use real "obj_mdp" sub-data */
- err = obd_create(lov->tgts[i].ltd_exp, tmp_oa, &obj_mdp, oti);
+ err = obd_create(lov->tgts[i].ltd_exp, tmp_oa, NULL, 0,
+ &obj_mdp, oti);
if (err)
/* This export will be disabled until it is recovered,
and then orphan recovery will be completed. */
}
static int lov_recreate(struct obd_export *exp, struct obdo *src_oa,
+ void *acl, int acl_size,
struct lov_stripe_md **ea, struct obd_trans_info *oti)
{
struct lov_stripe_md *obj_mdp, *lsm;
if (i == lsm->lsm_stripe_count)
GOTO(out, rc = -EINVAL);
- rc = obd_create(lov->tgts[ost_idx].ltd_exp, src_oa, &obj_mdp, oti);
+ rc = obd_create(lov->tgts[ost_idx].ltd_exp, src_oa, acl, acl_size,
+ &obj_mdp, oti);
out:
OBD_FREE(obj_mdp, sizeof(*obj_mdp));
RETURN(rc);
/* the LOV expects oa->o_id to be set to the LOV object id */
static int lov_create(struct obd_export *exp, struct obdo *src_oa,
+ void *acl, int acl_size,
struct lov_stripe_md **ea, struct obd_trans_info *oti)
{
struct lov_request_set *set = NULL;
/* Recreate a specific object id at the given OST index */
if ((src_oa->o_valid & OBD_MD_FLFLAGS) &&
(src_oa->o_flags & OBD_FL_RECREATE_OBJS)) {
- rc = lov_recreate(exp, src_oa, ea, oti);
+ rc = lov_recreate(exp, src_oa, acl, acl_size, ea, oti);
RETURN(rc);
}
list_entry(pos, struct lov_request, rq_link);
/* XXX: LOV STACKING: use real "obj_mdp" sub-data */
- rc = obd_create(lov->tgts[req->rq_idx].ltd_exp,
- req->rq_oa, &req->rq_md, oti);
+ rc = obd_create(lov->tgts[req->rq_idx].ltd_exp, req->rq_oa,
+ acl, acl_size, &req->rq_md, oti);
lov_update_create_set(set, req, rc);
}
rc = lov_fini_create_set(set, ea);
memcpy(tmp_oa, src_oa, sizeof(*tmp_oa));
/* XXX: LOV STACKING: use real "obj_mdp" sub-data */
osc_exp = lov->tgts[ost_idx].ltd_exp;
- rc = obd_create(osc_exp, tmp_oa, &obj_mdp, oti);
+ rc = obd_create(osc_exp, tmp_oa, NULL, 0, &obj_mdp, oti);
if (rc) {
CERROR("error creating new subobj at idx %d; "
"rc = %d\n", ost_idx, rc);