diff options
Diffstat (limited to 'fs/dlm/lock.c')
-rw-r--r-- | fs/dlm/lock.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c index 9d26b3a39671..eac54d230fdc 100644 --- a/fs/dlm/lock.c +++ b/fs/dlm/lock.c | |||
@@ -580,7 +580,7 @@ static int create_lkb(struct dlm_ls *ls, struct dlm_lkb **lkb_ret) | |||
580 | /* counter can roll over so we must verify lkid is not in use */ | 580 | /* counter can roll over so we must verify lkid is not in use */ |
581 | 581 | ||
582 | while (lkid == 0) { | 582 | while (lkid == 0) { |
583 | lkid = bucket | (ls->ls_lkbtbl[bucket].counter++ << 16); | 583 | lkid = (bucket << 16) | ls->ls_lkbtbl[bucket].counter++; |
584 | 584 | ||
585 | list_for_each_entry(tmp, &ls->ls_lkbtbl[bucket].list, | 585 | list_for_each_entry(tmp, &ls->ls_lkbtbl[bucket].list, |
586 | lkb_idtbl_list) { | 586 | lkb_idtbl_list) { |
@@ -601,8 +601,8 @@ static int create_lkb(struct dlm_ls *ls, struct dlm_lkb **lkb_ret) | |||
601 | 601 | ||
602 | static struct dlm_lkb *__find_lkb(struct dlm_ls *ls, uint32_t lkid) | 602 | static struct dlm_lkb *__find_lkb(struct dlm_ls *ls, uint32_t lkid) |
603 | { | 603 | { |
604 | uint16_t bucket = lkid & 0xFFFF; | ||
605 | struct dlm_lkb *lkb; | 604 | struct dlm_lkb *lkb; |
605 | uint16_t bucket = (lkid >> 16); | ||
606 | 606 | ||
607 | list_for_each_entry(lkb, &ls->ls_lkbtbl[bucket].list, lkb_idtbl_list) { | 607 | list_for_each_entry(lkb, &ls->ls_lkbtbl[bucket].list, lkb_idtbl_list) { |
608 | if (lkb->lkb_id == lkid) | 608 | if (lkb->lkb_id == lkid) |
@@ -614,7 +614,7 @@ static struct dlm_lkb *__find_lkb(struct dlm_ls *ls, uint32_t lkid) | |||
614 | static int find_lkb(struct dlm_ls *ls, uint32_t lkid, struct dlm_lkb **lkb_ret) | 614 | static int find_lkb(struct dlm_ls *ls, uint32_t lkid, struct dlm_lkb **lkb_ret) |
615 | { | 615 | { |
616 | struct dlm_lkb *lkb; | 616 | struct dlm_lkb *lkb; |
617 | uint16_t bucket = lkid & 0xFFFF; | 617 | uint16_t bucket = (lkid >> 16); |
618 | 618 | ||
619 | if (bucket >= ls->ls_lkbtbl_size) | 619 | if (bucket >= ls->ls_lkbtbl_size) |
620 | return -EBADSLT; | 620 | return -EBADSLT; |
@@ -644,7 +644,7 @@ static void kill_lkb(struct kref *kref) | |||
644 | 644 | ||
645 | static int __put_lkb(struct dlm_ls *ls, struct dlm_lkb *lkb) | 645 | static int __put_lkb(struct dlm_ls *ls, struct dlm_lkb *lkb) |
646 | { | 646 | { |
647 | uint16_t bucket = lkb->lkb_id & 0xFFFF; | 647 | uint16_t bucket = (lkb->lkb_id >> 16); |
648 | 648 | ||
649 | write_lock(&ls->ls_lkbtbl[bucket].lock); | 649 | write_lock(&ls->ls_lkbtbl[bucket].lock); |
650 | if (kref_put(&lkb->lkb_ref, kill_lkb)) { | 650 | if (kref_put(&lkb->lkb_ref, kill_lkb)) { |