-
-static int ldlm_bl_to_thread(struct ldlm_namespace *ns,
- struct ldlm_lock_desc *ld, struct ldlm_lock *lock,
- struct list_head *cancels, int count, int mode)
-{
- ENTRY;
-
- if (mode == LDLM_SYNC) {
- /* if it is synchronous call do minimum mem alloc, as it could
- * be triggered from kernel shrinker
- */
- struct ldlm_bl_work_item blwi;
- memset(&blwi, 0, sizeof(blwi));
- /* have extra ref as this obj is on stack */
- RETURN(__ldlm_bl_to_thread(ns, &blwi, ld, lock, cancels, count, mode));
- } else {
- struct ldlm_bl_work_item *blwi;
- OBD_ALLOC(blwi, sizeof(*blwi));
- if (blwi == NULL)
- RETURN(-ENOMEM);
-
- RETURN(__ldlm_bl_to_thread(ns, blwi, ld, lock, cancels, count, mode));
- }
-}
-