]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - fs/dlm/dlm_internal.h
Merge current mainline tree into linux-omap tree
[linux-2.6-omap-h63xx.git] / fs / dlm / dlm_internal.h
index 187a5b5b28b66f9e4338faf9aab4baefd6037d04..7a8824f475f2c84029f921a1542a90b0eb700fb9 100644 (file)
@@ -37,7 +37,6 @@
 #include <linux/jhash.h>
 #include <linux/miscdevice.h>
 #include <linux/mutex.h>
-#include <asm/semaphore.h>
 #include <asm/uaccess.h>
 
 #include <linux/dlm.h>
@@ -92,8 +91,6 @@ do { \
   } \
 }
 
-#define DLM_FAKE_USER_AST ERR_PTR(-EINVAL)
-
 
 struct dlm_direntry {
        struct list_head        list;
@@ -146,9 +143,9 @@ struct dlm_recover {
 
 struct dlm_args {
        uint32_t                flags;
-       void                    *astaddr;
-       long                    astparam;
-       void                    *bastaddr;
+       void                    (*astfn) (void *astparam);
+       void                    *astparam;
+       void                    (*bastfn) (void *astparam, int mode);
        int                     mode;
        struct dlm_lksb         *lksb;
        unsigned long           timeout;
@@ -253,9 +250,12 @@ struct dlm_lkb {
 
        char                    *lkb_lvbptr;
        struct dlm_lksb         *lkb_lksb;      /* caller's status block */
-       void                    *lkb_astaddr;   /* caller's ast function */
-       void                    *lkb_bastaddr;  /* caller's bast function */
-       long                    lkb_astparam;   /* caller's ast arg */
+       void                    (*lkb_astfn) (void *astparam);
+       void                    (*lkb_bastfn) (void *astparam, int mode);
+       union {
+               void                    *lkb_astparam;  /* caller's ast arg */
+               struct dlm_user_args    *lkb_ua;
+       };
 };
 
 
@@ -500,7 +500,7 @@ struct dlm_ls {
        struct rw_semaphore     ls_recv_active; /* block dlm_recv */
        struct list_head        ls_requestqueue;/* queue remote requests */
        struct mutex            ls_requestqueue_mutex;
-       char                    *ls_recover_buf;
+       struct dlm_rcom         *ls_recover_buf;
        int                     ls_recover_nodeid; /* for debugging */
        uint64_t                ls_rcom_seq;
        spinlock_t              ls_rcom_spin;