- OBD_ALLOC(cobd->cobd_real_name, strlen(lcfg->lcfg_inlbuf1) + 1);
- if (!cobd->cobd_real_name)
- GOTO(exit, rc = -ENOMEM);
- memcpy(cobd->cobd_real_name, lcfg->lcfg_inlbuf1,
- strlen(lcfg->lcfg_inlbuf1));
-
- OBD_ALLOC(cobd->cobd_cache_name, strlen(lcfg->lcfg_inlbuf2) + 1);
- if (!cobd->cobd_cache_name)
- GOTO(exit, rc = -ENOMEM);
- memcpy(cobd->cobd_cache_name, lcfg->lcfg_inlbuf2,
- strlen(lcfg->lcfg_inlbuf2));
-
-#if 0
- /* don't bother checking attached/setup;
- * obd_connect() should, and it can change underneath us */
- rc = connect_to_obd(cobd->cobd_real_name, &real_conn);
- if (rc != 0)
- GOTO(exit, rc);
- cobd->cobd_real_exp = class_conn2export(&real_conn);
-#endif
- rc = connect_to_obd(cobd->cobd_cache_name, &cache_conn);
- if (rc != 0) {
- obd_disconnect(cobd->cobd_cache_exp, 0);
- GOTO(exit, rc);
- }
- cobd->cobd_cache_exp = class_conn2export(&cache_conn);
+ sema_init(&cobd->sem, 1);
+
+ OBD_ALLOC(cobd->master_name, lcfg->lcfg_inllen1);
+ if (!cobd->master_name)
+ RETURN(-ENOMEM);
+ memcpy(cobd->master_name, lcfg->lcfg_inlbuf1,
+ lcfg->lcfg_inllen1);