X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Fofd%2Fofd_obd.c;h=82f5492132da8024bce68e3cfc1b8b6a89f63bfd;hp=af49a509b4e7375640b06e43b6cebf9055344704;hb=c9420061c26a910c3bd0fcf4d347c74a5edbdf3a;hpb=33c7936e9175f5cb151ad0cfc8c9694751eb4430 diff --git a/lustre/ofd/ofd_obd.c b/lustre/ofd/ofd_obd.c index af49a50..82f5492 100644 --- a/lustre/ofd/ofd_obd.c +++ b/lustre/ofd/ofd_obd.c @@ -274,7 +274,6 @@ static int ofd_obd_connect(const struct lu_env *env, struct obd_export **_exp, struct ofd_device *ofd; struct lustre_handle conn = { 0 }; int rc; - obd_seq seq; ENTRY; if (_exp == NULL || obd == NULL || cluuid == NULL) @@ -301,7 +300,6 @@ static int ofd_obd_connect(const struct lu_env *env, struct obd_export **_exp, if (rc) GOTO(out, rc); - seq = data->ocd_group; if (obd->obd_replayable) { struct tg_export_data *ted = &exp->exp_target_data; @@ -312,23 +310,9 @@ static int ofd_obd_connect(const struct lu_env *env, struct obd_export **_exp, GOTO(out, rc); ofd_export_stats_init(ofd, exp, localdata); } - if (seq == 0) - GOTO(out, rc = 0); - /* init new seq */ - if (seq > ofd->ofd_seq_count) { - struct ofd_seq *oseq; - - ofd->ofd_seq_count = seq; - oseq = ofd_seq_load(env, ofd, seq); - if (IS_ERR(oseq)) { - CERROR("%s: load oseq "LPX64" error: rc = %ld\n", - ofd_name(ofd), oseq->os_seq, PTR_ERR(oseq)); - GOTO(out, rc = PTR_ERR(oseq)); - } else { - ofd_seq_put(env, oseq); - } - } + CDEBUG(D_HA, "%s: get connection from MDS %d\n", obd->obd_name, + data->ocd_group); out: if (rc != 0) { @@ -570,7 +554,13 @@ static int ofd_get_info(const struct lu_env *env, struct obd_export *exp, obd_id *last_id = val; struct ofd_seq *oseq; - oseq = ofd_seq_get(ofd, exp->exp_filter_data.fed_group); + if (val == NULL) { + *vallen = sizeof(obd_id); + RETURN(0); + } + ofd_info_init(env, exp); + oseq = ofd_seq_load(env, ofd, + (obd_seq)exp->exp_filter_data.fed_group); LASSERT(oseq != NULL); if (last_id) { if (*vallen < sizeof(*last_id)) { @@ -1143,7 +1133,7 @@ int ofd_create(const struct lu_env *env, struct obd_export *exp, CDEBUG(D_INFO, "ofd_create(oa->o_seq="LPU64",oa->o_id="LPU64")\n", seq, oa->o_id); - oseq = ofd_seq_get(ofd, seq); + oseq = ofd_seq_load(env, ofd, seq); if (oseq == NULL) { CERROR("%s: Can't find oseq "LPX64"\n", ofd_name(ofd), seq); RETURN(-EINVAL);