[LCK_GROUP] "GROUP",
[LCK_COS] "COS"
};
+EXPORT_SYMBOL(ldlm_lockname);
char *ldlm_typename[] = {
[LDLM_PLAIN] "PLN",
[LDLM_FLOCK] "FLK",
[LDLM_IBITS] "IBT",
};
+EXPORT_SYMBOL(ldlm_typename);
static ldlm_policy_wire_to_local_t ldlm_policy_wire18_to_local[] = {
[LDLM_PLAIN - LDLM_MIN_TYPE] ldlm_plain_policy_wire_to_local,
return "UNKNOWN";
}
}
+EXPORT_SYMBOL(ldlm_it2str);
extern cfs_mem_cache_t *ldlm_lock_slab;
{
return ldlm_processing_policy_table[res->lr_type];
}
+EXPORT_SYMBOL(ldlm_get_processing_policy);
#endif /* HAVE_SERVER_SUPPORT */
void ldlm_register_intent(struct ldlm_namespace *ns, ldlm_res_policy arg)
{
ns->ns_policy = arg;
}
+EXPORT_SYMBOL(ldlm_register_intent);
/*
* REFCOUNTED LOCK OBJECTS
cfs_atomic_inc(&lock->l_refc);
return lock;
}
+EXPORT_SYMBOL(ldlm_lock_get);
void ldlm_lock_put(struct ldlm_lock *lock)
{
EXIT;
}
+EXPORT_SYMBOL(ldlm_lock_put);
int ldlm_lock_remove_from_lru_nolock(struct ldlm_lock *lock)
{
RETURN(0);
}
+EXPORT_SYMBOL(ldlm_lock_change_resource);
/*
* HANDLES
{
lockh->cookie = lock->l_handle.h_cookie;
}
+EXPORT_SYMBOL(ldlm_lock2handle);
/* if flags: atomically get the lock and set the flags.
* Return NULL if flag already set
unlock_res_and_lock(lock);
RETURN(lock);
}
+EXPORT_SYMBOL(__ldlm_handle2lock);
void ldlm_lock2desc(struct ldlm_lock *lock, struct ldlm_lock_desc *desc)
{
&desc->l_policy_data);
}
}
+EXPORT_SYMBOL(ldlm_lock2desc);
void ldlm_add_bl_work_item(struct ldlm_lock *lock, struct ldlm_lock *new,
cfs_list_t *work_list)
ldlm_lock_addref_internal(lock, mode);
LDLM_LOCK_PUT(lock);
}
+EXPORT_SYMBOL(ldlm_lock_addref);
void ldlm_lock_addref_internal_nolock(struct ldlm_lock *lock, __u32 mode)
{
}
return result;
}
+EXPORT_SYMBOL(ldlm_lock_addref_try);
/* only called for local locks */
void ldlm_lock_addref_internal(struct ldlm_lock *lock, __u32 mode)
ldlm_lock_decref_internal(lock, mode);
LDLM_LOCK_PUT(lock);
}
+EXPORT_SYMBOL(ldlm_lock_decref);
/* This will drop a lock reference and mark it for destruction, but will not
* necessarily cancel the lock before returning. */
ldlm_lock_decref_internal(lock, mode);
LDLM_LOCK_PUT(lock);
}
+EXPORT_SYMBOL(ldlm_lock_decref_and_cancel);
struct sl_insert_point {
cfs_list_t *res_link;
lock->l_flags |= LDLM_FL_LVB_READY;
cfs_waitq_broadcast(&lock->l_waitq);
}
+EXPORT_SYMBOL(ldlm_lock_allow_match_locked);
void ldlm_lock_allow_match(struct ldlm_lock *lock)
{
ldlm_lock_allow_match_locked(lock);
unlock_res_and_lock(lock);
}
+EXPORT_SYMBOL(ldlm_lock_allow_match);
/* Can be called in two ways:
*
return rc ? mode : 0;
}
+EXPORT_SYMBOL(ldlm_lock_match);
ldlm_mode_t ldlm_revalidate_lock_handle(struct lustre_handle *lockh,
__u64 *bits)
}
EXIT;
}
+EXPORT_SYMBOL(ldlm_reprocess_all_ns);
void ldlm_reprocess_all(struct ldlm_resource *res)
{
EXIT;
}
+EXPORT_SYMBOL(ldlm_lock_cancel);
int ldlm_lock_set_data(struct lustre_handle *lockh, void *data)
{
EXIT;
}
+EXPORT_SYMBOL(ldlm_lock_downgrade);
struct ldlm_resource *ldlm_lock_convert(struct ldlm_lock *lock, int new_mode,
__u32 *flags)
OBD_SLAB_FREE(node, ldlm_interval_slab, sizeof(*node));
RETURN(res);
}
+EXPORT_SYMBOL(ldlm_lock_convert);
void ldlm_lock_dump_handle(int level, struct lustre_handle *lockh)
{
LDLM_LOCK_PUT(lock);
}
+EXPORT_SYMBOL(ldlm_lock_dump_handle);
void _ldlm_lock_debug(struct ldlm_lock *lock,
struct libcfs_debug_msg_data *msgdata,