aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorSteven Whitehouse <swhiteho@redhat.com>2007-06-01 09:11:58 -0400
committerSteven Whitehouse <swhiteho@redhat.com>2007-07-09 03:23:10 -0400
commitbb8d8a6f54c1c84d7c74623491bab043b36a38c5 (patch)
tree76c62c505df2a1acd090f4aacc63fb9eddd3950f /include
parentddf4b426aababdae4cb96326d7aeb9d119f42c50 (diff)
[GFS2] Fix sign problem in quota/statfs and cleanup _host structures
This patch fixes some sign issues which were accidentally introduced into the quota & statfs code during the endianess annotation process. Also included is a general clean up which moves all of the _host structures out of gfs2_ondisk.h (where they should not have been to start with) and into the places where they are actually used (often only one place). Also those _host structures which are not required any more are removed entirely (which is the eventual plan for all of them). The conversion routines from ondisk.c are also moved into the places where they are actually used, which for almost every one, was just one single place, so all those are now static functions. This also cleans up the end of gfs2_ondisk.h which no longer needs the #ifdef __KERNEL__. The net result is a reduction of about 100 lines of code, many functions now marked static plus the bug fixes as mentioned above. For good measure I ran the code through sparse after making these changes to check that there are no warnings generated. This fixes Red Hat bz #239686 Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/gfs2_ondisk.h127
1 files changed, 0 insertions, 127 deletions
diff --git a/include/linux/gfs2_ondisk.h b/include/linux/gfs2_ondisk.h
index 01cc35946a9d..2c4e24fb0765 100644
--- a/include/linux/gfs2_ondisk.h
+++ b/include/linux/gfs2_ondisk.h
@@ -54,11 +54,6 @@ struct gfs2_inum {
54 __be64 no_addr; 54 __be64 no_addr;
55}; 55};
56 56
57struct gfs2_inum_host {
58 __u64 no_formal_ino;
59 __u64 no_addr;
60};
61
62/* 57/*
63 * Generic metadata head structure 58 * Generic metadata head structure
64 * Every inplace buffer logged in the journal must start with this. 59 * Every inplace buffer logged in the journal must start with this.
@@ -87,12 +82,6 @@ struct gfs2_meta_header {
87 __be32 __pad1; /* Was incarnation number in gfs1 */ 82 __be32 __pad1; /* Was incarnation number in gfs1 */
88}; 83};
89 84
90struct gfs2_meta_header_host {
91 __u32 mh_magic;
92 __u32 mh_type;
93 __u32 mh_format;
94};
95
96/* 85/*
97 * super-block structure 86 * super-block structure
98 * 87 *
@@ -132,23 +121,6 @@ struct gfs2_sb {
132 /* In gfs1, quota and license dinodes followed */ 121 /* In gfs1, quota and license dinodes followed */
133}; 122};
134 123
135struct gfs2_sb_host {
136 struct gfs2_meta_header_host sb_header;
137
138 __u32 sb_fs_format;
139 __u32 sb_multihost_format;
140
141 __u32 sb_bsize;
142 __u32 sb_bsize_shift;
143
144 struct gfs2_inum_host sb_master_dir; /* Was jindex dinode in gfs1 */
145 struct gfs2_inum_host sb_root_dir;
146
147 char sb_lockproto[GFS2_LOCKNAME_LEN];
148 char sb_locktable[GFS2_LOCKNAME_LEN];
149 /* In gfs1, quota and license dinodes followed */
150};
151
152/* 124/*
153 * resource index structure 125 * resource index structure
154 */ 126 */
@@ -166,14 +138,6 @@ struct gfs2_rindex {
166 __u8 ri_reserved[64]; 138 __u8 ri_reserved[64];
167}; 139};
168 140
169struct gfs2_rindex_host {
170 __u64 ri_addr; /* grp block disk address */
171 __u64 ri_data0; /* first data location */
172 __u32 ri_length; /* length of rgrp header in fs blocks */
173 __u32 ri_data; /* num of data blocks in rgrp */
174 __u32 ri_bitbytes; /* number of bytes in data bitmaps */
175};
176
177/* 141/*
178 * resource group header structure 142 * resource group header structure
179 */ 143 */
@@ -205,13 +169,6 @@ struct gfs2_rgrp {
205 __u8 rg_reserved[80]; /* Several fields from gfs1 now reserved */ 169 __u8 rg_reserved[80]; /* Several fields from gfs1 now reserved */
206}; 170};
207 171
208struct gfs2_rgrp_host {
209 __u32 rg_flags;
210 __u32 rg_free;
211 __u32 rg_dinodes;
212 __u64 rg_igeneration;
213};
214
215/* 172/*
216 * quota structure 173 * quota structure
217 */ 174 */
@@ -223,12 +180,6 @@ struct gfs2_quota {
223 __u8 qu_reserved[64]; 180 __u8 qu_reserved[64];
224}; 181};
225 182
226struct gfs2_quota_host {
227 __u64 qu_limit;
228 __u64 qu_warn;
229 __u64 qu_value;
230};
231
232/* 183/*
233 * dinode structure 184 * dinode structure
234 */ 185 */
@@ -312,27 +263,6 @@ struct gfs2_dinode {
312 __u8 di_reserved[56]; 263 __u8 di_reserved[56];
313}; 264};
314 265
315struct gfs2_dinode_host {
316 __u64 di_size; /* number of bytes in file */
317 __u64 di_blocks; /* number of blocks in file */
318
319 /* This section varies from gfs1. Padding added to align with
320 * remainder of dinode
321 */
322 __u64 di_goal_meta; /* rgrp to alloc from next */
323 __u64 di_goal_data; /* data block goal */
324 __u64 di_generation; /* generation number for NFS */
325
326 __u32 di_flags; /* GFS2_DIF_... */
327 __u16 di_height; /* height of metadata */
328
329 /* These only apply to directories */
330 __u16 di_depth; /* Number of bits in the table */
331 __u32 di_entries; /* The number of entries in the directory */
332
333 __u64 di_eattr; /* extended attribute block number */
334};
335
336/* 266/*
337 * directory structure - many of these per directory file 267 * directory structure - many of these per directory file
338 */ 268 */
@@ -407,16 +337,6 @@ struct gfs2_log_header {
407 __be32 lh_hash; 337 __be32 lh_hash;
408}; 338};
409 339
410struct gfs2_log_header_host {
411 struct gfs2_meta_header_host lh_header;
412
413 __u64 lh_sequence; /* Sequence number of this transaction */
414 __u32 lh_flags; /* GFS2_LOG_HEAD_... */
415 __u32 lh_tail; /* Block number of log tail */
416 __u32 lh_blkno;
417 __u32 lh_hash;
418};
419
420/* 340/*
421 * Log type descriptor 341 * Log type descriptor
422 */ 342 */
@@ -457,11 +377,6 @@ struct gfs2_inum_range {
457 __be64 ir_length; 377 __be64 ir_length;
458}; 378};
459 379
460struct gfs2_inum_range_host {
461 __u64 ir_start;
462 __u64 ir_length;
463};
464
465/* 380/*
466 * Statfs change 381 * Statfs change
467 * Describes an change to the pool of free and allocated 382 * Describes an change to the pool of free and allocated
@@ -474,12 +389,6 @@ struct gfs2_statfs_change {
474 __be64 sc_dinodes; 389 __be64 sc_dinodes;
475}; 390};
476 391
477struct gfs2_statfs_change_host {
478 __u64 sc_total;
479 __u64 sc_free;
480 __u64 sc_dinodes;
481};
482
483/* 392/*
484 * Quota change 393 * Quota change
485 * Describes an allocation change for a particular 394 * Describes an allocation change for a particular
@@ -494,12 +403,6 @@ struct gfs2_quota_change {
494 __be32 qc_id; 403 __be32 qc_id;
495}; 404};
496 405
497struct gfs2_quota_change_host {
498 __u64 qc_change;
499 __u32 qc_flags; /* GFS2_QCF_... */
500 __u32 qc_id;
501};
502
503struct gfs2_quota_lvb { 406struct gfs2_quota_lvb {
504 __be32 qb_magic; 407 __be32 qb_magic;
505 __u32 __pad; 408 __u32 __pad;
@@ -508,34 +411,4 @@ struct gfs2_quota_lvb {
508 __be64 qb_value; /* Current # blocks allocated */ 411 __be64 qb_value; /* Current # blocks allocated */
509}; 412};
510 413
511#ifdef __KERNEL__
512/* Translation functions */
513struct gfs2_inode;
514
515extern void gfs2_inum_out(const struct gfs2_inode *ip, struct gfs2_dirent *dent);
516extern void gfs2_sb_in(struct gfs2_sb_host *sb, const void *buf);
517extern void gfs2_rindex_in(struct gfs2_rindex_host *ri, const void *buf);
518extern void gfs2_rindex_out(const struct gfs2_rindex_host *ri, void *buf);
519extern void gfs2_rgrp_in(struct gfs2_rgrp_host *rg, const void *buf);
520extern void gfs2_rgrp_out(const struct gfs2_rgrp_host *rg, void *buf);
521extern void gfs2_quota_in(struct gfs2_quota_host *qu, const void *buf);
522extern void gfs2_quota_out(const struct gfs2_quota_host *qu, void *buf);
523struct gfs2_inode;
524extern void gfs2_dinode_out(const struct gfs2_inode *ip, void *buf);
525extern void gfs2_ea_header_in(struct gfs2_ea_header *ea, const void *buf);
526extern void gfs2_ea_header_out(const struct gfs2_ea_header *ea, void *buf);
527extern void gfs2_log_header_in(struct gfs2_log_header_host *lh, const void *buf);
528extern void gfs2_inum_range_in(struct gfs2_inum_range_host *ir, const void *buf);
529extern void gfs2_inum_range_out(const struct gfs2_inum_range_host *ir, void *buf);
530extern void gfs2_statfs_change_in(struct gfs2_statfs_change_host *sc, const void *buf);
531extern void gfs2_statfs_change_out(const struct gfs2_statfs_change_host *sc, void *buf);
532extern void gfs2_quota_change_in(struct gfs2_quota_change_host *qc, const void *buf);
533
534/* Printing functions */
535
536extern void gfs2_rindex_print(const struct gfs2_rindex_host *ri);
537extern void gfs2_dinode_print(const struct gfs2_inode *ip);
538
539#endif /* __KERNEL__ */
540
541#endif /* __GFS2_ONDISK_DOT_H__ */ 414#endif /* __GFS2_ONDISK_DOT_H__ */