Whamcloud - gitweb
CLIO uses lock weighting policy to keep locks over mmapped regions in
[fs/lustre-release.git] / lustre / ldlm / ldlm_request.c
index 9c50907..6dfeac7 100644 (file)
@@ -1805,56 +1805,6 @@ int ldlm_cli_cancel_unused(struct ldlm_namespace *ns,
         RETURN(ELDLM_OK);
 }
 
-/* join/split resource locks to/from lru list */
-int ldlm_cli_join_lru(struct ldlm_namespace *ns,
-                      const struct ldlm_res_id *res_id, int join)
-{
-        struct ldlm_resource *res;
-        struct ldlm_lock *lock, *n;
-        int count = 0;
-        ENTRY;
-
-        LASSERT(ns_is_client(ns));
-
-        res = ldlm_resource_get(ns, NULL, res_id, LDLM_EXTENT, 0);
-        if (res == NULL)
-                RETURN(count);
-        LASSERT(res->lr_type == LDLM_EXTENT);
-
-        lock_res(res);
-        if (!join)
-                goto split;
-
-        list_for_each_entry_safe (lock, n, &res->lr_granted, l_res_link) {
-                if (list_empty(&lock->l_lru) &&
-                    !lock->l_readers && !lock->l_writers &&
-                    !(lock->l_flags & LDLM_FL_LOCAL) &&
-                    !(lock->l_flags & LDLM_FL_CBPENDING) &&
-                    !(lock->l_flags & LDLM_FL_BL_AST)) {
-                        ldlm_lock_add_to_lru(lock);
-                        lock->l_flags &= ~LDLM_FL_NO_LRU;
-                        LDLM_DEBUG(lock, "join lock to lru");
-                        count++;
-                }
-        }
-        goto unlock;
-split:
-        spin_lock(&ns->ns_unused_lock);
-        list_for_each_entry_safe (lock, n, &ns->ns_unused_list, l_lru) {
-                if (lock->l_resource == res) {
-                        ldlm_lock_remove_from_lru_nolock(lock);
-                        lock->l_flags |= LDLM_FL_NO_LRU;
-                        LDLM_DEBUG(lock, "split lock from lru");
-                        count++;
-                }
-        }
-        spin_unlock(&ns->ns_unused_lock);
-unlock:
-        unlock_res(res);
-        ldlm_resource_putref(res);
-        RETURN(count);
-}
-
 /* Lock iterators. */
 
 int ldlm_resource_foreach(struct ldlm_resource *res, ldlm_iterator_t iter,