+ if (rc == 0)
+ rc = err;
+ }
+
+ /* cycle through MDC target for Data-on-MDT */
+ for (i = 0; i < LOV_MDC_TGT_MAX; i++) {
+ struct obd_device *mdc;
+
+ mdc = lov->lov_mdc_tgts[i].lmtd_mdc;
+ if (mdc == NULL)
+ continue;
+
+ err = obd_set_info_async(env, mdc->obd_self_export,
+ keylen, key, vallen, val, set);
+ if (rc == 0)
+ rc = err;
+ }
+
+ obd_putref(obddev);
+ if (no_set) {
+ err = ptlrpc_set_wait(set);
+ if (rc == 0)
+ rc = err;
+ ptlrpc_set_destroy(set);
+ }
+ RETURN(rc);