aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiklos Szeredi <miklos@szeredi.hu>2005-09-09 16:10:32 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2005-09-09 17:03:46 -0400
commit06663267b4b1e85ece73236ea720355668d4f736 (patch)
treecaece1ce21caf6586e82e03858dc128edb8e996c
parent92a8780e1136c5ca0c7ed940000d399943d1576e (diff)
[PATCH] FUSE: add padding
Add padding to structures to make sizes the same on 32bit and 64bit archs. Initial testing and test machine generously provided by Franco Broi. Signed-off-by: Miklos Szeredi <miklos@szeredi.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--include/linux/fuse.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/include/linux/fuse.h b/include/linux/fuse.h
index bf564edf9905..e9b814e16c58 100644
--- a/include/linux/fuse.h
+++ b/include/linux/fuse.h
@@ -25,6 +25,9 @@
25/** The minor number of the fuse character device */ 25/** The minor number of the fuse character device */
26#define FUSE_MINOR 229 26#define FUSE_MINOR 229
27 27
28/* Make sure all structures are padded to 64bit boundary, so 32bit
29 userspace works under 64bit kernels */
30
28struct fuse_attr { 31struct fuse_attr {
29 __u64 ino; 32 __u64 ino;
30 __u64 size; 33 __u64 size;
@@ -128,6 +131,7 @@ struct fuse_mknod_in {
128 131
129struct fuse_mkdir_in { 132struct fuse_mkdir_in {
130 __u32 mode; 133 __u32 mode;
134 __u32 padding;
131}; 135};
132 136
133struct fuse_rename_in { 137struct fuse_rename_in {
@@ -140,32 +144,38 @@ struct fuse_link_in {
140 144
141struct fuse_setattr_in { 145struct fuse_setattr_in {
142 __u32 valid; 146 __u32 valid;
147 __u32 padding;
143 struct fuse_attr attr; 148 struct fuse_attr attr;
144}; 149};
145 150
146struct fuse_open_in { 151struct fuse_open_in {
147 __u32 flags; 152 __u32 flags;
153 __u32 padding;
148}; 154};
149 155
150struct fuse_open_out { 156struct fuse_open_out {
151 __u64 fh; 157 __u64 fh;
152 __u32 open_flags; 158 __u32 open_flags;
159 __u32 padding;
153}; 160};
154 161
155struct fuse_release_in { 162struct fuse_release_in {
156 __u64 fh; 163 __u64 fh;
157 __u32 flags; 164 __u32 flags;
165 __u32 padding;
158}; 166};
159 167
160struct fuse_flush_in { 168struct fuse_flush_in {
161 __u64 fh; 169 __u64 fh;
162 __u32 flush_flags; 170 __u32 flush_flags;
171 __u32 padding;
163}; 172};
164 173
165struct fuse_read_in { 174struct fuse_read_in {
166 __u64 fh; 175 __u64 fh;
167 __u64 offset; 176 __u64 offset;
168 __u32 size; 177 __u32 size;
178 __u32 padding;
169}; 179};
170 180
171struct fuse_write_in { 181struct fuse_write_in {
@@ -177,6 +187,7 @@ struct fuse_write_in {
177 187
178struct fuse_write_out { 188struct fuse_write_out {
179 __u32 size; 189 __u32 size;
190 __u32 padding;
180}; 191};
181 192
182struct fuse_statfs_out { 193struct fuse_statfs_out {
@@ -186,6 +197,7 @@ struct fuse_statfs_out {
186struct fuse_fsync_in { 197struct fuse_fsync_in {
187 __u64 fh; 198 __u64 fh;
188 __u32 fsync_flags; 199 __u32 fsync_flags;
200 __u32 padding;
189}; 201};
190 202
191struct fuse_setxattr_in { 203struct fuse_setxattr_in {
@@ -195,10 +207,12 @@ struct fuse_setxattr_in {
195 207
196struct fuse_getxattr_in { 208struct fuse_getxattr_in {
197 __u32 size; 209 __u32 size;
210 __u32 padding;
198}; 211};
199 212
200struct fuse_getxattr_out { 213struct fuse_getxattr_out {
201 __u32 size; 214 __u32 size;
215 __u32 padding;
202}; 216};
203 217
204struct fuse_init_in_out { 218struct fuse_init_in_out {
@@ -214,6 +228,7 @@ struct fuse_in_header {
214 __u32 uid; 228 __u32 uid;
215 __u32 gid; 229 __u32 gid;
216 __u32 pid; 230 __u32 pid;
231 __u32 padding;
217}; 232};
218 233
219struct fuse_out_header { 234struct fuse_out_header {