Whamcloud - gitweb
LU-16271 ptlrpc: fix eviction right after recovery
[fs/lustre-release.git] / lustre / quota / qsd_request.c
index cf5d273..de5726d 100644 (file)
@@ -160,6 +160,10 @@ static int qsd_intent_interpret(const struct lu_env *env,
        struct qsd_async_args    *aa = (struct qsd_async_args *)arg;
        struct ldlm_reply        *lockrep;
        __u64                     flags = LDLM_FL_HAS_INTENT;
+       struct ldlm_enqueue_info  einfo = {
+               .ei_type = LDLM_PLAIN,
+               .ei_mode = LCK_CR,
+       };
        ENTRY;
 
        LASSERT(aa->aa_exp);
@@ -167,9 +171,9 @@ static int qsd_intent_interpret(const struct lu_env *env,
        req_qbody = req_capsule_client_get(&req->rq_pill, &RMF_QUOTA_BODY);
        req_capsule_client_get(&req->rq_pill, &RMF_LDLM_INTENT);
 
-       rc = ldlm_cli_enqueue_fini(aa->aa_exp, req, LDLM_PLAIN, 0, LCK_CR,
-                                  &flags, (void *)aa->aa_lvb,
-                                  sizeof(struct lquota_lvb), lockh, rc);
+       rc = ldlm_cli_enqueue_fini(aa->aa_exp, req, &einfo, 0, &flags,
+                                  aa->aa_lvb, sizeof(*(aa->aa_lvb)),
+                                  lockh, rc, false);
        if (rc < 0) {
                /* the lock has been destroyed, forget about the lock handle */
                memset(lockh, 0, sizeof(*lockh));
@@ -295,7 +299,7 @@ int qsd_intent_lock(const struct lu_env *env, struct obd_export *exp,
        switch(it_op) {
        case IT_QUOTA_CONN:
                /* grab reference on qqi for new lock */
-#ifdef USE_LU_REF
+#ifdef CONFIG_LUSTRE_DEBUG_LU_REF
        {
                struct ldlm_lock        *lock;
 
@@ -387,7 +391,7 @@ int qsd_fetch_index(const struct lu_env *env, struct obd_export *exp,
 
        /* allocate bulk descriptor */
        desc = ptlrpc_prep_bulk_imp(req, npages, 1,
-                                   PTLRPC_BULK_PUT_SINK | PTLRPC_BULK_BUF_KIOV,
+                                   PTLRPC_BULK_PUT_SINK,
                                    MDS_BULK_PORTAL,
                                    &ptlrpc_bulk_kiov_pin_ops);
        if (desc == NULL)
@@ -421,7 +425,7 @@ int qsd_fetch_index(const struct lu_env *env, struct obd_export *exp,
        req_ii = req_capsule_server_get(&req->rq_pill, &RMF_IDX_INFO);
        *ii = *req_ii;
 
-       *need_swab = ptlrpc_rep_need_swab(req);
+       *need_swab = req_capsule_rep_need_swab(&req->rq_pill);
 
        EXIT;
 out: