1 /******************************************************************************
2 *******************************************************************************
4 ** Copyright (C) 2005 Red Hat, Inc. All rights reserved.
6 ** This copyrighted material is made available to anyone wishing to use,
7 ** modify, copy, or redistribute it subject to the terms and conditions
8 ** of the GNU General Public License v.2.
10 *******************************************************************************
11 ******************************************************************************/
13 #include "dlm_internal.h"
17 static void header_out(struct dlm_header
*hd
)
19 hd
->h_version
= cpu_to_le32(hd
->h_version
);
20 hd
->h_lockspace
= cpu_to_le32(hd
->h_lockspace
);
21 hd
->h_nodeid
= cpu_to_le32(hd
->h_nodeid
);
22 hd
->h_length
= cpu_to_le16(hd
->h_length
);
25 static void header_in(struct dlm_header
*hd
)
27 hd
->h_version
= le32_to_cpu(hd
->h_version
);
28 hd
->h_lockspace
= le32_to_cpu(hd
->h_lockspace
);
29 hd
->h_nodeid
= le32_to_cpu(hd
->h_nodeid
);
30 hd
->h_length
= le16_to_cpu(hd
->h_length
);
33 void dlm_message_out(struct dlm_message
*ms
)
35 struct dlm_header
*hd
= (struct dlm_header
*) ms
;
39 ms
->m_type
= cpu_to_le32(ms
->m_type
);
40 ms
->m_nodeid
= cpu_to_le32(ms
->m_nodeid
);
41 ms
->m_pid
= cpu_to_le32(ms
->m_pid
);
42 ms
->m_lkid
= cpu_to_le32(ms
->m_lkid
);
43 ms
->m_remid
= cpu_to_le32(ms
->m_remid
);
44 ms
->m_parent_lkid
= cpu_to_le32(ms
->m_parent_lkid
);
45 ms
->m_parent_remid
= cpu_to_le32(ms
->m_parent_remid
);
46 ms
->m_exflags
= cpu_to_le32(ms
->m_exflags
);
47 ms
->m_sbflags
= cpu_to_le32(ms
->m_sbflags
);
48 ms
->m_flags
= cpu_to_le32(ms
->m_flags
);
49 ms
->m_lvbseq
= cpu_to_le32(ms
->m_lvbseq
);
50 ms
->m_hash
= cpu_to_le32(ms
->m_hash
);
51 ms
->m_status
= cpu_to_le32(ms
->m_status
);
52 ms
->m_grmode
= cpu_to_le32(ms
->m_grmode
);
53 ms
->m_rqmode
= cpu_to_le32(ms
->m_rqmode
);
54 ms
->m_bastmode
= cpu_to_le32(ms
->m_bastmode
);
55 ms
->m_asts
= cpu_to_le32(ms
->m_asts
);
56 ms
->m_result
= cpu_to_le32(ms
->m_result
);
59 void dlm_message_in(struct dlm_message
*ms
)
61 struct dlm_header
*hd
= (struct dlm_header
*) ms
;
65 ms
->m_type
= le32_to_cpu(ms
->m_type
);
66 ms
->m_nodeid
= le32_to_cpu(ms
->m_nodeid
);
67 ms
->m_pid
= le32_to_cpu(ms
->m_pid
);
68 ms
->m_lkid
= le32_to_cpu(ms
->m_lkid
);
69 ms
->m_remid
= le32_to_cpu(ms
->m_remid
);
70 ms
->m_parent_lkid
= le32_to_cpu(ms
->m_parent_lkid
);
71 ms
->m_parent_remid
= le32_to_cpu(ms
->m_parent_remid
);
72 ms
->m_exflags
= le32_to_cpu(ms
->m_exflags
);
73 ms
->m_sbflags
= le32_to_cpu(ms
->m_sbflags
);
74 ms
->m_flags
= le32_to_cpu(ms
->m_flags
);
75 ms
->m_lvbseq
= le32_to_cpu(ms
->m_lvbseq
);
76 ms
->m_hash
= le32_to_cpu(ms
->m_hash
);
77 ms
->m_status
= le32_to_cpu(ms
->m_status
);
78 ms
->m_grmode
= le32_to_cpu(ms
->m_grmode
);
79 ms
->m_rqmode
= le32_to_cpu(ms
->m_rqmode
);
80 ms
->m_bastmode
= le32_to_cpu(ms
->m_bastmode
);
81 ms
->m_asts
= le32_to_cpu(ms
->m_asts
);
82 ms
->m_result
= le32_to_cpu(ms
->m_result
);
85 static void rcom_lock_out(struct rcom_lock
*rl
)
87 rl
->rl_ownpid
= cpu_to_le32(rl
->rl_ownpid
);
88 rl
->rl_lkid
= cpu_to_le32(rl
->rl_lkid
);
89 rl
->rl_remid
= cpu_to_le32(rl
->rl_remid
);
90 rl
->rl_parent_lkid
= cpu_to_le32(rl
->rl_parent_lkid
);
91 rl
->rl_parent_remid
= cpu_to_le32(rl
->rl_parent_remid
);
92 rl
->rl_exflags
= cpu_to_le32(rl
->rl_exflags
);
93 rl
->rl_flags
= cpu_to_le32(rl
->rl_flags
);
94 rl
->rl_lvbseq
= cpu_to_le32(rl
->rl_lvbseq
);
95 rl
->rl_result
= cpu_to_le32(rl
->rl_result
);
96 rl
->rl_wait_type
= cpu_to_le16(rl
->rl_wait_type
);
97 rl
->rl_namelen
= cpu_to_le16(rl
->rl_namelen
);
100 static void rcom_lock_in(struct rcom_lock
*rl
)
102 rl
->rl_ownpid
= le32_to_cpu(rl
->rl_ownpid
);
103 rl
->rl_lkid
= le32_to_cpu(rl
->rl_lkid
);
104 rl
->rl_remid
= le32_to_cpu(rl
->rl_remid
);
105 rl
->rl_parent_lkid
= le32_to_cpu(rl
->rl_parent_lkid
);
106 rl
->rl_parent_remid
= le32_to_cpu(rl
->rl_parent_remid
);
107 rl
->rl_exflags
= le32_to_cpu(rl
->rl_exflags
);
108 rl
->rl_flags
= le32_to_cpu(rl
->rl_flags
);
109 rl
->rl_lvbseq
= le32_to_cpu(rl
->rl_lvbseq
);
110 rl
->rl_result
= le32_to_cpu(rl
->rl_result
);
111 rl
->rl_wait_type
= le16_to_cpu(rl
->rl_wait_type
);
112 rl
->rl_namelen
= le16_to_cpu(rl
->rl_namelen
);
115 static void rcom_config_out(struct rcom_config
*rf
)
117 rf
->rf_lvblen
= cpu_to_le32(rf
->rf_lvblen
);
118 rf
->rf_lsflags
= cpu_to_le32(rf
->rf_lsflags
);
121 static void rcom_config_in(struct rcom_config
*rf
)
123 rf
->rf_lvblen
= le32_to_cpu(rf
->rf_lvblen
);
124 rf
->rf_lsflags
= le32_to_cpu(rf
->rf_lsflags
);
127 void dlm_rcom_out(struct dlm_rcom
*rc
)
129 struct dlm_header
*hd
= (struct dlm_header
*) rc
;
130 int type
= rc
->rc_type
;
134 rc
->rc_type
= cpu_to_le32(rc
->rc_type
);
135 rc
->rc_result
= cpu_to_le32(rc
->rc_result
);
136 rc
->rc_id
= cpu_to_le64(rc
->rc_id
);
137 rc
->rc_seq
= cpu_to_le64(rc
->rc_seq
);
138 rc
->rc_seq_reply
= cpu_to_le64(rc
->rc_seq_reply
);
140 if (type
== DLM_RCOM_LOCK
)
141 rcom_lock_out((struct rcom_lock
*) rc
->rc_buf
);
143 else if (type
== DLM_RCOM_STATUS_REPLY
)
144 rcom_config_out((struct rcom_config
*) rc
->rc_buf
);
147 void dlm_rcom_in(struct dlm_rcom
*rc
)
149 struct dlm_header
*hd
= (struct dlm_header
*) rc
;
153 rc
->rc_type
= le32_to_cpu(rc
->rc_type
);
154 rc
->rc_result
= le32_to_cpu(rc
->rc_result
);
155 rc
->rc_id
= le64_to_cpu(rc
->rc_id
);
156 rc
->rc_seq
= le64_to_cpu(rc
->rc_seq
);
157 rc
->rc_seq_reply
= le64_to_cpu(rc
->rc_seq_reply
);
159 if (rc
->rc_type
== DLM_RCOM_LOCK
)
160 rcom_lock_in((struct rcom_lock
*) rc
->rc_buf
);
162 else if (rc
->rc_type
== DLM_RCOM_STATUS_REPLY
)
163 rcom_config_in((struct rcom_config
*) rc
->rc_buf
);
This page took 0.043947 seconds and 6 git commands to generate.