diff options
Diffstat (limited to 'fs/ocfs2/dlm/dlmmaster.c')
-rw-r--r-- | fs/ocfs2/dlm/dlmmaster.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/ocfs2/dlm/dlmmaster.c b/fs/ocfs2/dlm/dlmmaster.c index 604552ebb468..acfc9288d5cd 100644 --- a/fs/ocfs2/dlm/dlmmaster.c +++ b/fs/ocfs2/dlm/dlmmaster.c | |||
@@ -325,6 +325,9 @@ static void dlm_init_mle(struct dlm_master_list_entry *mle, | |||
325 | mle->u.mlename.hash = dlm_lockid_hash(name, namelen); | 325 | mle->u.mlename.hash = dlm_lockid_hash(name, namelen); |
326 | } | 326 | } |
327 | 327 | ||
328 | atomic_inc(&dlm->mle_tot_count[mle->type]); | ||
329 | atomic_inc(&dlm->mle_cur_count[mle->type]); | ||
330 | |||
328 | /* copy off the node_map and register hb callbacks on our copy */ | 331 | /* copy off the node_map and register hb callbacks on our copy */ |
329 | memcpy(mle->node_map, dlm->domain_map, sizeof(mle->node_map)); | 332 | memcpy(mle->node_map, dlm->domain_map, sizeof(mle->node_map)); |
330 | memcpy(mle->vote_map, dlm->domain_map, sizeof(mle->vote_map)); | 333 | memcpy(mle->vote_map, dlm->domain_map, sizeof(mle->vote_map)); |
@@ -467,6 +470,8 @@ static void dlm_mle_release(struct kref *kref) | |||
467 | /* detach the mle from the domain node up/down events */ | 470 | /* detach the mle from the domain node up/down events */ |
468 | __dlm_mle_detach_hb_events(dlm, mle); | 471 | __dlm_mle_detach_hb_events(dlm, mle); |
469 | 472 | ||
473 | atomic_dec(&dlm->mle_cur_count[mle->type]); | ||
474 | |||
470 | /* NOTE: kfree under spinlock here. | 475 | /* NOTE: kfree under spinlock here. |
471 | * if this is bad, we can move this to a freelist. */ | 476 | * if this is bad, we can move this to a freelist. */ |
472 | kmem_cache_free(dlm_mle_cache, mle); | 477 | kmem_cache_free(dlm_mle_cache, mle); |