Whamcloud - gitweb
LU-13128 osc: glimpse and lock cancel race
[fs/lustre-release.git] / lustre / mdc / mdc_dev.c
index a640874..6ab9bca 100644 (file)
@@ -323,7 +323,6 @@ static int mdc_dlm_blocking_ast0(const struct lu_env *env,
 
        if (dlmlock->l_ast_data != NULL) {
                obj = osc2cl(dlmlock->l_ast_data);
-               dlmlock->l_ast_data = NULL;
                cl_object_get(obj);
        }
        unlock_res_and_lock(dlmlock);
@@ -341,6 +340,7 @@ static int mdc_dlm_blocking_ast0(const struct lu_env *env,
                 */
                /* losing a lock, update kms */
                lock_res_and_lock(dlmlock);
+               dlmlock->l_ast_data = NULL;
                cl_object_attr_lock(obj);
                attr->cat_kms = 0;
                cl_object_attr_update(env, obj, attr, CAT_KMS);
@@ -1122,8 +1122,8 @@ static int mdc_io_read_ahead(const struct lu_env *env,
                ldlm_lock_decref(&lockh, dlmlock->l_req_mode);
        }
 
-       ra->cra_rpc_size = osc_cli(osc)->cl_max_pages_per_rpc;
-       ra->cra_end = CL_PAGE_EOF;
+       ra->cra_rpc_pages = osc_cli(osc)->cl_max_pages_per_rpc;
+       ra->cra_end_idx = CL_PAGE_EOF;
        ra->cra_release = osc_read_ahead_release;
        ra->cra_cbdata = dlmlock;