struct completion       ns_kobj_unregister;
 };
 
-/**
- * Returns 1 if namespace \a ns is a client namespace.
- */
-static inline int ns_is_client(struct ldlm_namespace *ns)
-{
-       LASSERT(ns != NULL);
-       LASSERT(!(ns->ns_client & ~(LDLM_NAMESPACE_CLIENT |
-                                   LDLM_NAMESPACE_SERVER)));
-       LASSERT(ns->ns_client == LDLM_NAMESPACE_CLIENT ||
-               ns->ns_client == LDLM_NAMESPACE_SERVER);
-       return ns->ns_client == LDLM_NAMESPACE_CLIENT;
-}
-
 /**
  * Returns 1 if namespace \a ns is a server namespace.
  */
 
 #include <linux/list.h>
 #include "ldlm_internal.h"
 
-int ldlm_flock_blocking_ast(struct ldlm_lock *lock, struct ldlm_lock_desc *desc,
-                           void *data, int flag);
-
 /**
  * list_for_remaining_safe - iterate over the remaining entries in a list
  *           and safeguard against removal of a list entry.
        struct ldlm_lock *new = req;
        struct ldlm_lock *new2 = NULL;
        ldlm_mode_t mode = req->l_req_mode;
-       int local = ns_is_client(ns);
        int added = (mode == LCK_NL);
        int overlaps = 0;
        int splitted = 0;
 
        *err = ELDLM_OK;
 
-       if (local) {
-               /* No blocking ASTs are sent to the clients for
-                * Posix file & record locks */
-               req->l_blocking_ast = NULL;
-       } else {
-               /* Called on the server for lock cancels. */
-               req->l_blocking_ast = ldlm_flock_blocking_ast;
-       }
+       /* No blocking ASTs are sent to the clients for
+        * Posix file & record locks */
+       req->l_blocking_ast = NULL;
 
 reprocess:
        if ((*flags == LDLM_FL_WAIT_NOREPROC) || (mode == LCK_NL)) {
 }
 EXPORT_SYMBOL(ldlm_flock_completion_ast);
 
-int ldlm_flock_blocking_ast(struct ldlm_lock *lock, struct ldlm_lock_desc *desc,
-                           void *data, int flag)
-{
-       LASSERT(lock);
-       LASSERT(flag == LDLM_CB_CANCELING);
-
-       /* take lock off the deadlock detection hash list. */
-       lock_res_and_lock(lock);
-       ldlm_flock_blocking_unlink(lock);
-       unlock_res_and_lock(lock);
-       return 0;
-}
-
 void ldlm_flock_policy_wire18_to_local(const ldlm_wire_policy_data_t *wpolicy,
                                       ldlm_policy_data_t *lpolicy)
 {
 
        struct ldlm_resource *newres;
        int type;
 
-       LASSERT(ns_is_client(ns));
-
        lock_res_and_lock(lock);
        if (memcmp(new_resid, &lock->l_resource->lr_name,
                   sizeof(lock->l_resource->lr_name)) == 0) {
                if ((lock->l_flags & LDLM_FL_ATOMIC_CB) ||
                    ldlm_bl_to_thread_lock(ns, NULL, lock) != 0)
                        ldlm_handle_bl_callback(ns, NULL, lock);
-       } else if (ns_is_client(ns) &&
-                  !lock->l_readers && !lock->l_writers &&
+       } else if (!lock->l_readers && !lock->l_writers &&
                   !(lock->l_flags & LDLM_FL_NO_LRU) &&
                   !(lock->l_flags & LDLM_FL_BL_AST)) {
 
 
                spin_unlock(&imp->imp_lock);
        }
 
-       if (ns_is_client(ldlm_lock_to_ns(lock)) &&
-           OBD_FAIL_CHECK_RESET(OBD_FAIL_LDLM_INTR_CP_AST,
+       if (OBD_FAIL_CHECK_RESET(OBD_FAIL_LDLM_INTR_CP_AST,
                                 OBD_FAIL_LDLM_CP_BL_RACE | OBD_FAIL_ONCE)) {
                lock->l_flags |= LDLM_FL_FAIL_LOC;
                rc = -EINTR;
                }
                ldlm_lock_cancel(lock);
        } else {
-               if (ns_is_client(ldlm_lock_to_ns(lock))) {
-                       LDLM_ERROR(lock, "Trying to cancel local lock");
-                       LBUG();
-               }
+               LDLM_ERROR(lock, "Trying to cancel local lock");
+               LBUG();
        }
 
        return rc;
 
                             __u64 flags)
 {
        struct list_head *tmp;
-       int rc = 0, client = ns_is_client(ldlm_res_to_ns(res));
+       int rc = 0;
        bool local_only = !!(flags & LDLM_FL_LOCAL_ONLY);
 
        do {
                struct ldlm_lock *lock = NULL;
+               struct lustre_handle lockh;
 
                /* First, we look for non-cleaned-yet lock
                 * all cleaned locks are marked by CLEANED flag. */
                        continue;
                }
 
-               if (client) {
-                       struct lustre_handle lockh;
-
-                       unlock_res(res);
-                       ldlm_lock2handle(lock, &lockh);
-                       rc = ldlm_cli_cancel(&lockh, LCF_ASYNC);
-                       if (rc)
-                               CERROR("ldlm_cli_cancel: %d\n", rc);
-               } else {
-                       ldlm_resource_unlink_lock(lock);
-                       unlock_res(res);
-                       LDLM_DEBUG(lock, "Freeing a lock still held by a client node");
-                       ldlm_lock_destroy(lock);
-               }
+               unlock_res(res);
+               ldlm_lock2handle(lock, &lockh);
+               rc = ldlm_cli_cancel(&lockh, LCF_ASYNC);
+               if (rc)
+                       CERROR("ldlm_cli_cancel: %d\n", rc);
                LDLM_LOCK_RELEASE(lock);
        } while (1);
 }
         * namespace. If so, and this is a client namespace, we need to move
         * the namespace into the active namespaces list to be patrolled by
         * the ldlm_poold. */
-       if (ns_is_client(ns) && ns_refcount == 1) {
+       if (ns_refcount == 1) {
                mutex_lock(ldlm_namespace_lock(LDLM_NAMESPACE_CLIENT));
                ldlm_namespace_move_to_active_locked(ns, LDLM_NAMESPACE_CLIENT);
                mutex_unlock(ldlm_namespace_lock(LDLM_NAMESPACE_CLIENT));
        if (!((libcfs_debug | D_ERROR) & level))
                return;
 
-       CDEBUG(level, "--- Namespace: %s (rc: %d, side: %s)\n",
-              ldlm_ns_name(ns), atomic_read(&ns->ns_bref),
-              ns_is_client(ns) ? "client" : "server");
+       CDEBUG(level, "--- Namespace: %s (rc: %d, side: client)\n",
+              ldlm_ns_name(ns), atomic_read(&ns->ns_bref));
 
        if (time_before(cfs_time_current(), ns->ns_next_dump))
                return;