Whamcloud - gitweb
LU-5683 clio: add CIT_DATA_VERSION
[fs/lustre-release.git] / lustre / lov / lov_request.c
index 8774fc8..d95e486 100644 (file)
@@ -106,23 +106,6 @@ void lov_update_set(struct lov_request_set *set,
        wake_up(&set->set_waitq);
 }
 
-int lov_update_common_set(struct lov_request_set *set,
-                          struct lov_request *req, int rc)
-{
-        struct lov_obd *lov = &set->set_exp->exp_obd->u.lov;
-        ENTRY;
-
-        lov_update_set(set, req, rc);
-
-        /* grace error on inactive ost */
-        if (rc && !(lov->lov_tgts[req->rq_idx] &&
-                    lov->lov_tgts[req->rq_idx]->ltd_active))
-                rc = 0;
-
-        /* FIXME in raid1 regime, should return 0 */
-        RETURN(rc);
-}
-
 void lov_set_add_req(struct lov_request *req, struct lov_request_set *set)
 {
        list_add_tail(&req->rq_link, &set->set_list);
@@ -186,135 +169,6 @@ out:
        return rc;
 }
 
-static int common_attr_done(struct lov_request_set *set)
-{
-       struct list_head *pos;
-        struct lov_request *req;
-        struct obdo *tmp_oa;
-        int rc = 0, attrset = 0;
-        ENTRY;
-
-       LASSERT(set->set_oi != NULL);
-
-       if (set->set_oi->oi_oa == NULL)
-               RETURN(0);
-
-       if (!atomic_read(&set->set_success))
-               RETURN(-EIO);
-
-       OBDO_ALLOC(tmp_oa);
-       if (tmp_oa == NULL)
-               GOTO(out, rc = -ENOMEM);
-
-       list_for_each(pos, &set->set_list) {
-               req = list_entry(pos, struct lov_request, rq_link);
-
-                if (!req->rq_complete || req->rq_rc)
-                        continue;
-                if (req->rq_oi.oi_oa->o_valid == 0)   /* inactive stripe */
-                        continue;
-                lov_merge_attrs(tmp_oa, req->rq_oi.oi_oa,
-                                req->rq_oi.oi_oa->o_valid,
-                                set->set_oi->oi_md, req->rq_stripe, &attrset);
-        }
-        if (!attrset) {
-                CERROR("No stripes had valid attrs\n");
-                rc = -EIO;
-        }
-
-        tmp_oa->o_oi = set->set_oi->oi_oa->o_oi;
-        memcpy(set->set_oi->oi_oa, tmp_oa, sizeof(*set->set_oi->oi_oa));
-out:
-        if (tmp_oa)
-                OBDO_FREE(tmp_oa);
-        RETURN(rc);
-
-}
-
-int lov_fini_getattr_set(struct lov_request_set *set)
-{
-       int rc = 0;
-       ENTRY;
-
-       if (set == NULL)
-               RETURN(0);
-       LASSERT(set->set_exp);
-       if (atomic_read(&set->set_completes))
-               rc = common_attr_done(set);
-
-       lov_put_reqset(set);
-
-       RETURN(rc);
-}
-
-/* The callback for osc_getattr_async that finilizes a request info when a
- * response is received. */
-static int cb_getattr_update(void *cookie, int rc)
-{
-        struct obd_info *oinfo = cookie;
-        struct lov_request *lovreq;
-        lovreq = container_of(oinfo, struct lov_request, rq_oi);
-        return lov_update_common_set(lovreq->rq_rqset, lovreq, rc);
-}
-
-int lov_prep_getattr_set(struct obd_export *exp, struct obd_info *oinfo,
-                         struct lov_request_set **reqset)
-{
-        struct lov_request_set *set;
-        struct lov_obd *lov = &exp->exp_obd->u.lov;
-        int rc = 0, i;
-        ENTRY;
-
-        OBD_ALLOC(set, sizeof(*set));
-        if (set == NULL)
-                RETURN(-ENOMEM);
-        lov_init_set(set);
-
-        set->set_exp = exp;
-        set->set_oi = oinfo;
-
-        for (i = 0; i < oinfo->oi_md->lsm_stripe_count; i++) {
-               struct lov_oinfo *loi;
-               struct lov_request *req;
-
-               loi = oinfo->oi_md->lsm_oinfo[i];
-               if (lov_oinfo_is_dummy(loi))
-                       continue;
-
-               if (!lov_check_and_wait_active(lov, loi->loi_ost_idx)) {
-                       CDEBUG(D_HA, "lov idx %d inactive\n", loi->loi_ost_idx);
-                       continue;
-               }
-
-                OBD_ALLOC(req, sizeof(*req));
-                if (req == NULL)
-                        GOTO(out_set, rc = -ENOMEM);
-
-                req->rq_stripe = i;
-                req->rq_idx = loi->loi_ost_idx;
-
-                OBDO_ALLOC(req->rq_oi.oi_oa);
-                if (req->rq_oi.oi_oa == NULL) {
-                        OBD_FREE(req, sizeof(*req));
-                        GOTO(out_set, rc = -ENOMEM);
-                }
-                memcpy(req->rq_oi.oi_oa, oinfo->oi_oa,
-                       sizeof(*req->rq_oi.oi_oa));
-                req->rq_oi.oi_oa->o_oi = loi->loi_oi;
-                req->rq_oi.oi_cb_up = cb_getattr_update;
-                req->rq_oi.oi_capa = oinfo->oi_capa;
-
-                lov_set_add_req(req, set);
-        }
-        if (!set->set_count)
-                GOTO(out_set, rc = -EIO);
-        *reqset = set;
-        RETURN(rc);
-out_set:
-        lov_fini_getattr_set(set);
-        RETURN(rc);
-}
-
 #define LOV_U64_MAX ((__u64)~0ULL)
 #define LOV_SUM_MAX(tot, add)                                           \
         do {                                                            \