ENTRY;
LASSERT(!(*flags & LDLM_FL_REPLAY));
- if (unlikely(ns->ns_client)) {
+ if (unlikely(ns_is_client(ns))) {
CERROR("Trying to enqueue local lock in a shadow namespace\n");
LBUG();
}
struct ldlm_resource *res;
int rc;
ENTRY;
- if (lock->l_resource->lr_namespace->ns_client) {
+ if (ns_is_client(lock->l_resource->lr_namespace)) {
CERROR("Trying to cancel local lock\n");
LBUG();
}
}
ldlm_lock_cancel(lock);
} else {
- if (lock->l_resource->lr_namespace->ns_client) {
+ if (ns_is_client(lock->l_resource->lr_namespace)) {
LDLM_ERROR(lock, "Trying to cancel local lock");
LBUG();
}
while (1) {
imp = class_exp2cliimp(exp);
if (imp == NULL || imp->imp_invalid) {
- CDEBUG(D_HA, "skipping cancel on invalid import %p\n",
- imp);
- break;
+ CDEBUG(D_DLMTRACE,
+ "skipping cancel on invalid import %p\n", imp);
+ RETURN(count);
}
req = ptlrpc_prep_req(imp, LUSTRE_DLM_VERSION, LDLM_CANCEL, 2,
if (!imp_connect_lru_resize(req->rq_import))
RETURN(0);
+ if (lustre_msg_get_slv(req->rq_repmsg) == 0 ||
+ lustre_msg_get_limit(req->rq_repmsg) == 0)
+ RETURN(0);
+
pl = ldlm_imp2pl(req->rq_import);
spin_lock(&pl->pl_lock);
while (!list_empty(&ns->ns_unused_list)) {
struct ldlm_pool *pl = &ns->ns_pool;
+ LASSERT(unused >= 0);
+
if (max && added >= max)
break;
/* See CBPENDING comment in ldlm_cancel_lru */
lock->l_flags |= LDLM_FL_CBPENDING | LDLM_FL_CANCELING |
- lock_flags;
+ lock_flags;
LASSERT(list_empty(&lock->l_bl_ast));
list_add(&lock->l_bl_ast, cancels);
ldlm_cancel_pack(req, off, cancels, count);
else
res = ldlm_cli_cancel_req(lock->l_conn_export,
- cancels, count, flags);
+ cancels, count,
+ flags);
} else {
res = ldlm_cli_cancel_req(lock->l_conn_export,
cancels, 1, flags);
int count = 0;
ENTRY;
- LASSERT(ns->ns_client == LDLM_NAMESPACE_CLIENT);
+ LASSERT(ns_is_client(ns));
res = ldlm_resource_get(ns, NULL, res_id, LDLM_EXTENT, 0);
if (res == NULL)