- if (rc == 0) {
- if (lls->sub_flags & LSF_HELD)
- lov_sublock_release(env, lck, i, 1, 0);
- if (sublock->cll_state < CLS_FREEING) {
- struct lov_lock_link *link;
-
- link = lov_lock_link_find(env, lck, lsl);
- LASSERT(link != NULL);
- lov_lock_unlink(env, link, lsl);
- LASSERT(lck->lls_sub[i].sub_lock == NULL);
- }
- lov_sublock_unlock(env, lsl, closure, NULL);
- } else if (rc == CLO_REPEAT) {
- --i; /* repeat with this lock */
- } else {
- CL_LOCK_DEBUG(D_ERROR, env, sublock,
- "Cannot get sub-lock for delete: %i\n",
- rc);