Whamcloud - gitweb
- CROW-related fixes from b_hd_mdref
[fs/lustre-release.git] / lustre / lov / lov_obd.c
index 9baefff..3186999 100644 (file)
@@ -763,21 +763,9 @@ lov_create(struct obd_export *exp, struct obdo *src_oa,
                 struct lov_request *req = 
                         list_entry(pos, struct lov_request, rq_link);
 
-                obd_id *objids = oti->oti_objid;
-
-                if (oti->oti_obj_alloc) {
-                        __u64 next_id;
-                                
-                        /* 
-                         * allocating new objid. Here it is delegated to caller,
-                         * that is MDS in CROW case.
-                         */
-                        next_id = oti->oti_obj_alloc(&objids[req->rq_idx]);
-                        req->rq_oa->o_id = next_id;
-                } else {
-                        /* and here is default "allocator" */
-                        req->rq_oa->o_id = ++objids[req->rq_idx];
-                }
+                /* XXX: LOV STACKING: use real "obj_mdp" sub-data */
+                rc = obd_create(lov->tgts[req->rq_idx].ltd_exp,
+                                req->rq_oa, NULL, 0, &req->rq_md, oti);
                 lov_update_create_set(set, req, rc);
         }
         rc = lov_fini_create_set(set, ea);
@@ -2137,6 +2125,21 @@ static int lov_set_info(struct obd_export *exp, obd_count keylen,
                 spin_unlock(&lov->lov_lock);
 
                 RETURN(rc);
+        } else if (KEY_IS("flush_cred")) {
+                struct lov_tgt_desc *tgt;
+                int rc = 0, i;
+
+                for (i = 0, tgt = lov->tgts; i < lov->desc.ld_tgt_count;
+                     i++, tgt++) {
+                        if (!tgt->ltd_exp)
+                                continue;
+                        rc = obd_set_info(tgt->ltd_exp,
+                                          keylen, key, vallen, val);
+                        if (rc)
+                                RETURN(rc);
+                }
+
+                RETURN(0);
         } else {
                 RETURN(-EINVAL);
         }