struct lu_device *ld;
struct lu_device *cmm_lu = cmm2lu_dev(cm);
mdsno_t mdc_num;
+ struct lu_site *site = cmm2lu_dev(cm)->ld_site;
int rc;
ENTRY;
if (IS_ERR(ld))
RETURN(PTR_ERR(ld));
- ld->ld_site = cmm2lu_dev(cm)->ld_site;
+ ld->ld_site = site;
rc = ldt->ldt_ops->ldto_device_init(env, ld, NULL, NULL);
if (rc) {
target.ft_exp = mc->mc_desc.cl_exp;
fld_client_add_target(cm->cmm_fld, &target);
+ if (mc->mc_num == 0) {
+ /* this is mdt0 -> mc export, fld lookup need this export
+ to forward fld lookup request. */
+ LASSERT(!lu_site2md(site)->ms_server_fld->lsf_control_exp);
+ lu_site2md(site)->ms_server_fld->lsf_control_exp =
+ mc->mc_desc.cl_exp;
+ }
/* Set max md size for the mdc. */
rc = cmm_post_init_mdc(env, cm);
RETURN(rc);