- cl_lock_mutex_put(env, sublock);
-
- LASSERT(cl_lock_nr_mutexed(env) == 0);
-
- cl_lock_mutex_get(env, conflict);
- cl_lock_cancel(env, conflict);
- cl_lock_delete(env, conflict);
- while (conflict->cll_state != CLS_FREEING) {
- int rc = 0;
-
- rc = cl_lock_state_wait(env, conflict);
- if (rc == 0)
- continue;
-
- result = lov_subresult(result, rc);
- break;
- }
- cl_lock_mutex_put(env, conflict);
- lu_ref_del(&conflict->cll_reference, "cancel-wait", sublock);
- cl_lock_put(env, conflict);
-