* say caller that everything is okay. Real connection will be performed
* later. */
static int lmv_connect(struct lustre_handle *conn, struct obd_device *obd,
- struct obd_uuid *cluuid)
+ struct obd_uuid *cluuid, unsigned long connect_flags)
{
struct lmv_obd *lmv = &obd->u.lmv;
struct obd_export *exp;
}
lmv->cluuid = *cluuid;
+ lmv->connect_flags = connect_flags;
lmv->connected = 0;
lmv->exp = exp;
}
/* Performs a check if passed obd is connected. If no - connect it. */
-int lmv_check_connect(struct obd_device *obd) {
+int lmv_check_connect(struct obd_device *obd)
+{
struct lmv_obd *lmv = &obd->u.lmv;
struct obd_uuid *cluuid;
struct lmv_tgt_desc *tgts;
GOTO(out_disc, rc = -EINVAL);
}
- rc = obd_connect(&conn, tgt_obd, &lmv_osc_uuid);
+ rc = obd_connect(&conn, tgt_obd, &lmv_osc_uuid, lmv->connect_flags);
if (rc) {
CERROR("Target %s connect error %d\n",
tgts->uuid.uuid, rc);
}
lmv = &obd->u.lmv;
- if (keylen >= strlen("client") && strcmp(key, "client") == 0) {
- struct lmv_tgt_desc *tgts;
- int i, rc;
-
- rc = lmv_check_connect(obd);
- if (rc)
- RETURN(rc);
-
- for (i = 0, tgts = lmv->tgts;
- i < lmv->desc.ld_tgt_count; i++, tgts++) {
- rc = obd_set_info(tgts->ltd_exp, keylen, key, vallen, val);
- if (rc)
- RETURN(rc);
- }
- RETURN(0);
- } else if (keylen >= strlen("inter_mds") && strcmp(key, "inter_mds") == 0) {
+ if (keylen >= strlen("inter_mds") && strcmp(key, "inter_mds") == 0) {
lmv->server_timeout = 1;
lmv_set_timeouts(obd);
RETURN(0);