kfree(p);
}
-uint64_t *allocate_range(struct dlm_ls *ls)
-{
- int ralen = 4*sizeof(uint64_t);
- uint64_t *p;
-
- p = kmalloc(ralen, GFP_KERNEL);
- if (p)
- memset(p, 0, ralen);
- return p;
-}
-
-void free_range(uint64_t *p)
-{
- kfree(p);
-}
-
/* FIXME: have some minimal space built-in to rsb for the name and
kmalloc a separate name if needed, like dentries are done */
void free_lkb(struct dlm_lkb *lkb)
{
+ if (lkb->lkb_flags & DLM_IFL_USER) {
+ struct dlm_user_args *ua;
+ ua = (struct dlm_user_args *)lkb->lkb_astparam;
+ if (ua) {
+ if (ua->lksb.sb_lvbptr)
+ kfree(ua->lksb.sb_lvbptr);
+ kfree(ua);
+ }
+ }
kmem_cache_free(lkb_cache, lkb);
}
{
struct dlm_direntry *de;
- DLM_ASSERT(namelen <= DLM_RESNAME_MAXLEN,);
+ DLM_ASSERT(namelen <= DLM_RESNAME_MAXLEN,
+ printk("namelen = %d\n", namelen););
de = kmalloc(sizeof(*de) + namelen, GFP_KERNEL);
if (de)