diff options
Diffstat (limited to 'fs/ocfs2/stack_user.c')
-rw-r--r-- | fs/ocfs2/stack_user.c | 29 |
1 files changed, 11 insertions, 18 deletions
diff --git a/fs/ocfs2/stack_user.c b/fs/ocfs2/stack_user.c index da78a2a334fd..129b93159cca 100644 --- a/fs/ocfs2/stack_user.c +++ b/fs/ocfs2/stack_user.c | |||
@@ -25,7 +25,6 @@ | |||
25 | #include <linux/reboot.h> | 25 | #include <linux/reboot.h> |
26 | #include <asm/uaccess.h> | 26 | #include <asm/uaccess.h> |
27 | 27 | ||
28 | #include "ocfs2.h" /* For struct ocfs2_lock_res */ | ||
29 | #include "stackglue.h" | 28 | #include "stackglue.h" |
30 | 29 | ||
31 | #include <linux/dlm_plock.h> | 30 | #include <linux/dlm_plock.h> |
@@ -664,16 +663,10 @@ static void ocfs2_control_exit(void) | |||
664 | -rc); | 663 | -rc); |
665 | } | 664 | } |
666 | 665 | ||
667 | static struct dlm_lksb *fsdlm_astarg_to_lksb(void *astarg) | ||
668 | { | ||
669 | struct ocfs2_lock_res *res = astarg; | ||
670 | return &res->l_lksb.lksb_fsdlm; | ||
671 | } | ||
672 | |||
673 | static void fsdlm_lock_ast_wrapper(void *astarg) | 666 | static void fsdlm_lock_ast_wrapper(void *astarg) |
674 | { | 667 | { |
675 | struct dlm_lksb *lksb = fsdlm_astarg_to_lksb(astarg); | 668 | union ocfs2_dlm_lksb *lksb = astarg; |
676 | int status = lksb->sb_status; | 669 | int status = lksb->lksb_fsdlm.sb_status; |
677 | 670 | ||
678 | BUG_ON(ocfs2_user_plugin.sp_proto == NULL); | 671 | BUG_ON(ocfs2_user_plugin.sp_proto == NULL); |
679 | 672 | ||
@@ -688,16 +681,18 @@ static void fsdlm_lock_ast_wrapper(void *astarg) | |||
688 | */ | 681 | */ |
689 | 682 | ||
690 | if (status == -DLM_EUNLOCK || status == -DLM_ECANCEL) | 683 | if (status == -DLM_EUNLOCK || status == -DLM_ECANCEL) |
691 | ocfs2_user_plugin.sp_proto->lp_unlock_ast(astarg, 0); | 684 | ocfs2_user_plugin.sp_proto->lp_unlock_ast(lksb, 0); |
692 | else | 685 | else |
693 | ocfs2_user_plugin.sp_proto->lp_lock_ast(astarg); | 686 | ocfs2_user_plugin.sp_proto->lp_lock_ast(lksb); |
694 | } | 687 | } |
695 | 688 | ||
696 | static void fsdlm_blocking_ast_wrapper(void *astarg, int level) | 689 | static void fsdlm_blocking_ast_wrapper(void *astarg, int level) |
697 | { | 690 | { |
691 | union ocfs2_dlm_lksb *lksb = astarg; | ||
692 | |||
698 | BUG_ON(ocfs2_user_plugin.sp_proto == NULL); | 693 | BUG_ON(ocfs2_user_plugin.sp_proto == NULL); |
699 | 694 | ||
700 | ocfs2_user_plugin.sp_proto->lp_blocking_ast(astarg, level); | 695 | ocfs2_user_plugin.sp_proto->lp_blocking_ast(lksb, level); |
701 | } | 696 | } |
702 | 697 | ||
703 | static int user_dlm_lock(struct ocfs2_cluster_connection *conn, | 698 | static int user_dlm_lock(struct ocfs2_cluster_connection *conn, |
@@ -705,8 +700,7 @@ static int user_dlm_lock(struct ocfs2_cluster_connection *conn, | |||
705 | union ocfs2_dlm_lksb *lksb, | 700 | union ocfs2_dlm_lksb *lksb, |
706 | u32 flags, | 701 | u32 flags, |
707 | void *name, | 702 | void *name, |
708 | unsigned int namelen, | 703 | unsigned int namelen) |
709 | void *astarg) | ||
710 | { | 704 | { |
711 | int ret; | 705 | int ret; |
712 | 706 | ||
@@ -716,20 +710,19 @@ static int user_dlm_lock(struct ocfs2_cluster_connection *conn, | |||
716 | 710 | ||
717 | ret = dlm_lock(conn->cc_lockspace, mode, &lksb->lksb_fsdlm, | 711 | ret = dlm_lock(conn->cc_lockspace, mode, &lksb->lksb_fsdlm, |
718 | flags|DLM_LKF_NODLCKWT, name, namelen, 0, | 712 | flags|DLM_LKF_NODLCKWT, name, namelen, 0, |
719 | fsdlm_lock_ast_wrapper, astarg, | 713 | fsdlm_lock_ast_wrapper, lksb, |
720 | fsdlm_blocking_ast_wrapper); | 714 | fsdlm_blocking_ast_wrapper); |
721 | return ret; | 715 | return ret; |
722 | } | 716 | } |
723 | 717 | ||
724 | static int user_dlm_unlock(struct ocfs2_cluster_connection *conn, | 718 | static int user_dlm_unlock(struct ocfs2_cluster_connection *conn, |
725 | union ocfs2_dlm_lksb *lksb, | 719 | union ocfs2_dlm_lksb *lksb, |
726 | u32 flags, | 720 | u32 flags) |
727 | void *astarg) | ||
728 | { | 721 | { |
729 | int ret; | 722 | int ret; |
730 | 723 | ||
731 | ret = dlm_unlock(conn->cc_lockspace, lksb->lksb_fsdlm.sb_lkid, | 724 | ret = dlm_unlock(conn->cc_lockspace, lksb->lksb_fsdlm.sb_lkid, |
732 | flags, &lksb->lksb_fsdlm, astarg); | 725 | flags, &lksb->lksb_fsdlm, lksb); |
733 | return ret; | 726 | return ret; |
734 | } | 727 | } |
735 | 728 | ||