+
+int ldlm_flock_blocking_ast(struct ldlm_lock *lock, struct ldlm_lock_desc *desc,
+ void *data, int flag)
+{
+ struct ldlm_namespace *ns;
+ ENTRY;
+
+ LASSERT(lock);
+ LASSERT(flag == LDLM_CB_CANCELING);
+
+ ns = lock->l_resource->lr_namespace;
+
+ /* take lock off the deadlock detection waitq. */
+ l_lock(&ns->ns_lock);
+ list_del_init(&lock->l_flock_waitq);
+ l_unlock(&ns->ns_lock);
+ RETURN(0);
+}