diff options
Diffstat (limited to 'fs/dlm/lockspace.c')
-rw-r--r-- | fs/dlm/lockspace.c | 23 |
1 files changed, 1 insertions, 22 deletions
diff --git a/fs/dlm/lockspace.c b/fs/dlm/lockspace.c index ca506abbdd3b..065bb75ed609 100644 --- a/fs/dlm/lockspace.c +++ b/fs/dlm/lockspace.c | |||
@@ -509,17 +509,6 @@ static int new_lockspace(const char *name, const char *cluster, | |||
509 | idr_init(&ls->ls_lkbidr); | 509 | idr_init(&ls->ls_lkbidr); |
510 | spin_lock_init(&ls->ls_lkbidr_spin); | 510 | spin_lock_init(&ls->ls_lkbidr_spin); |
511 | 511 | ||
512 | size = dlm_config.ci_dirtbl_size; | ||
513 | ls->ls_dirtbl_size = size; | ||
514 | |||
515 | ls->ls_dirtbl = vmalloc(sizeof(struct dlm_dirtable) * size); | ||
516 | if (!ls->ls_dirtbl) | ||
517 | goto out_lkbfree; | ||
518 | for (i = 0; i < size; i++) { | ||
519 | INIT_LIST_HEAD(&ls->ls_dirtbl[i].list); | ||
520 | spin_lock_init(&ls->ls_dirtbl[i].lock); | ||
521 | } | ||
522 | |||
523 | INIT_LIST_HEAD(&ls->ls_waiters); | 512 | INIT_LIST_HEAD(&ls->ls_waiters); |
524 | mutex_init(&ls->ls_waiters_mutex); | 513 | mutex_init(&ls->ls_waiters_mutex); |
525 | INIT_LIST_HEAD(&ls->ls_orphans); | 514 | INIT_LIST_HEAD(&ls->ls_orphans); |
@@ -567,7 +556,7 @@ static int new_lockspace(const char *name, const char *cluster, | |||
567 | 556 | ||
568 | ls->ls_recover_buf = kmalloc(dlm_config.ci_buffer_size, GFP_NOFS); | 557 | ls->ls_recover_buf = kmalloc(dlm_config.ci_buffer_size, GFP_NOFS); |
569 | if (!ls->ls_recover_buf) | 558 | if (!ls->ls_recover_buf) |
570 | goto out_dirfree; | 559 | goto out_lkbfree; |
571 | 560 | ||
572 | ls->ls_slot = 0; | 561 | ls->ls_slot = 0; |
573 | ls->ls_num_slots = 0; | 562 | ls->ls_num_slots = 0; |
@@ -648,8 +637,6 @@ static int new_lockspace(const char *name, const char *cluster, | |||
648 | list_del(&ls->ls_list); | 637 | list_del(&ls->ls_list); |
649 | spin_unlock(&lslist_lock); | 638 | spin_unlock(&lslist_lock); |
650 | kfree(ls->ls_recover_buf); | 639 | kfree(ls->ls_recover_buf); |
651 | out_dirfree: | ||
652 | vfree(ls->ls_dirtbl); | ||
653 | out_lkbfree: | 640 | out_lkbfree: |
654 | idr_destroy(&ls->ls_lkbidr); | 641 | idr_destroy(&ls->ls_lkbidr); |
655 | vfree(ls->ls_rsbtbl); | 642 | vfree(ls->ls_rsbtbl); |
@@ -779,13 +766,6 @@ static int release_lockspace(struct dlm_ls *ls, int force) | |||
779 | kfree(ls->ls_recover_buf); | 766 | kfree(ls->ls_recover_buf); |
780 | 767 | ||
781 | /* | 768 | /* |
782 | * Free direntry structs. | ||
783 | */ | ||
784 | |||
785 | dlm_dir_clear(ls); | ||
786 | vfree(ls->ls_dirtbl); | ||
787 | |||
788 | /* | ||
789 | * Free all lkb's in idr | 769 | * Free all lkb's in idr |
790 | */ | 770 | */ |
791 | 771 | ||
@@ -826,7 +806,6 @@ static int release_lockspace(struct dlm_ls *ls, int force) | |||
826 | 806 | ||
827 | dlm_purge_requestqueue(ls); | 807 | dlm_purge_requestqueue(ls); |
828 | kfree(ls->ls_recover_args); | 808 | kfree(ls->ls_recover_args); |
829 | dlm_clear_free_entries(ls); | ||
830 | dlm_clear_members(ls); | 809 | dlm_clear_members(ls); |
831 | dlm_clear_members_gone(ls); | 810 | dlm_clear_members_gone(ls); |
832 | kfree(ls->ls_node_array); | 811 | kfree(ls->ls_node_array); |