X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Ffld%2Ffld_index.c;h=2a8d3141bae0a1c4e919772d046b29a676aa49aa;hp=e4c41690f73a9e75100a3d653983ec8af57bbc93;hb=155e4b6cf45cc0ab21f72d94e5cccbd7a0939c58;hpb=234ce16dba60f2e2c2177e5cde21efd75285e4b4 diff --git a/lustre/fld/fld_index.c b/lustre/fld/fld_index.c index e4c4169..2a8d314 100644 --- a/lustre/fld/fld_index.c +++ b/lustre/fld/fld_index.c @@ -332,10 +332,20 @@ int fld_index_init(struct lu_server_fld *fld, { struct dt_object *dt_obj; struct lu_fid fid; + struct lu_attr attr; + struct dt_object_format dof; int rc; ENTRY; - dt_obj = dt_store_open(env, dt, "", fld_index_name, &fid); + lu_local_obj_fid(&fid, FLD_INDEX_OID); + + memset(&attr, 0, sizeof(attr)); + attr.la_valid = LA_MODE; + attr.la_mode = S_IFREG | 0666; + dof.dof_type = DFT_INDEX; + dof.u.dof_idx.di_feat = &fld_index_features; + + dt_obj = dt_find_or_create(env, dt, &fid, &dof, &attr); if (!IS_ERR(dt_obj)) { fld->lsf_obj = dt_obj; rc = dt_obj->do_ops->do_index_try(env, dt_obj,