diff options
Diffstat (limited to 'fs/dlm/dlm_internal.h')
-rw-r--r-- | fs/dlm/dlm_internal.h | 53 |
1 files changed, 30 insertions, 23 deletions
diff --git a/fs/dlm/dlm_internal.h b/fs/dlm/dlm_internal.h index ec61bbaf25df..d30ea8b433a2 100644 --- a/fs/dlm/dlm_internal.h +++ b/fs/dlm/dlm_internal.h | |||
@@ -92,8 +92,6 @@ do { \ | |||
92 | } \ | 92 | } \ |
93 | } | 93 | } |
94 | 94 | ||
95 | #define DLM_FAKE_USER_AST ERR_PTR(-EINVAL) | ||
96 | |||
97 | 95 | ||
98 | struct dlm_direntry { | 96 | struct dlm_direntry { |
99 | struct list_head list; | 97 | struct list_head list; |
@@ -146,9 +144,9 @@ struct dlm_recover { | |||
146 | 144 | ||
147 | struct dlm_args { | 145 | struct dlm_args { |
148 | uint32_t flags; | 146 | uint32_t flags; |
149 | void *astaddr; | 147 | void (*astfn) (void *astparam); |
150 | long astparam; | 148 | void *astparam; |
151 | void *bastaddr; | 149 | void (*bastfn) (void *astparam, int mode); |
152 | int mode; | 150 | int mode; |
153 | struct dlm_lksb *lksb; | 151 | struct dlm_lksb *lksb; |
154 | unsigned long timeout; | 152 | unsigned long timeout; |
@@ -253,9 +251,12 @@ struct dlm_lkb { | |||
253 | 251 | ||
254 | char *lkb_lvbptr; | 252 | char *lkb_lvbptr; |
255 | struct dlm_lksb *lkb_lksb; /* caller's status block */ | 253 | struct dlm_lksb *lkb_lksb; /* caller's status block */ |
256 | void *lkb_astaddr; /* caller's ast function */ | 254 | void (*lkb_astfn) (void *astparam); |
257 | void *lkb_bastaddr; /* caller's bast function */ | 255 | void (*lkb_bastfn) (void *astparam, int mode); |
258 | long lkb_astparam; /* caller's ast arg */ | 256 | union { |
257 | void *lkb_astparam; /* caller's ast arg */ | ||
258 | struct dlm_user_args *lkb_ua; | ||
259 | }; | ||
259 | }; | 260 | }; |
260 | 261 | ||
261 | 262 | ||
@@ -403,28 +404,34 @@ struct dlm_rcom { | |||
403 | char rc_buf[0]; | 404 | char rc_buf[0]; |
404 | }; | 405 | }; |
405 | 406 | ||
407 | union dlm_packet { | ||
408 | struct dlm_header header; /* common to other two */ | ||
409 | struct dlm_message message; | ||
410 | struct dlm_rcom rcom; | ||
411 | }; | ||
412 | |||
406 | struct rcom_config { | 413 | struct rcom_config { |
407 | uint32_t rf_lvblen; | 414 | __le32 rf_lvblen; |
408 | uint32_t rf_lsflags; | 415 | __le32 rf_lsflags; |
409 | uint64_t rf_unused; | 416 | __le64 rf_unused; |
410 | }; | 417 | }; |
411 | 418 | ||
412 | struct rcom_lock { | 419 | struct rcom_lock { |
413 | uint32_t rl_ownpid; | 420 | __le32 rl_ownpid; |
414 | uint32_t rl_lkid; | 421 | __le32 rl_lkid; |
415 | uint32_t rl_remid; | 422 | __le32 rl_remid; |
416 | uint32_t rl_parent_lkid; | 423 | __le32 rl_parent_lkid; |
417 | uint32_t rl_parent_remid; | 424 | __le32 rl_parent_remid; |
418 | uint32_t rl_exflags; | 425 | __le32 rl_exflags; |
419 | uint32_t rl_flags; | 426 | __le32 rl_flags; |
420 | uint32_t rl_lvbseq; | 427 | __le32 rl_lvbseq; |
421 | int rl_result; | 428 | __le32 rl_result; |
422 | int8_t rl_rqmode; | 429 | int8_t rl_rqmode; |
423 | int8_t rl_grmode; | 430 | int8_t rl_grmode; |
424 | int8_t rl_status; | 431 | int8_t rl_status; |
425 | int8_t rl_asts; | 432 | int8_t rl_asts; |
426 | uint16_t rl_wait_type; | 433 | __le16 rl_wait_type; |
427 | uint16_t rl_namelen; | 434 | __le16 rl_namelen; |
428 | char rl_name[DLM_RESNAME_MAXLEN]; | 435 | char rl_name[DLM_RESNAME_MAXLEN]; |
429 | char rl_lvb[0]; | 436 | char rl_lvb[0]; |
430 | }; | 437 | }; |
@@ -494,7 +501,7 @@ struct dlm_ls { | |||
494 | struct rw_semaphore ls_recv_active; /* block dlm_recv */ | 501 | struct rw_semaphore ls_recv_active; /* block dlm_recv */ |
495 | struct list_head ls_requestqueue;/* queue remote requests */ | 502 | struct list_head ls_requestqueue;/* queue remote requests */ |
496 | struct mutex ls_requestqueue_mutex; | 503 | struct mutex ls_requestqueue_mutex; |
497 | char *ls_recover_buf; | 504 | struct dlm_rcom *ls_recover_buf; |
498 | int ls_recover_nodeid; /* for debugging */ | 505 | int ls_recover_nodeid; /* for debugging */ |
499 | uint64_t ls_rcom_seq; | 506 | uint64_t ls_rcom_seq; |
500 | spinlock_t ls_rcom_spin; | 507 | spinlock_t ls_rcom_spin; |