diff options
Diffstat (limited to 'fs/xfs/xfs_ag.h')
-rw-r--r-- | fs/xfs/xfs_ag.h | 58 |
1 files changed, 28 insertions, 30 deletions
diff --git a/fs/xfs/xfs_ag.h b/fs/xfs/xfs_ag.h index 8d055593fee4..a96e2ffce0cc 100644 --- a/fs/xfs/xfs_ag.h +++ b/fs/xfs/xfs_ag.h | |||
@@ -48,27 +48,26 @@ struct xfs_trans; | |||
48 | * are > 64k, our value cannot be confused for an EFS superblock's. | 48 | * are > 64k, our value cannot be confused for an EFS superblock's. |
49 | */ | 49 | */ |
50 | 50 | ||
51 | typedef struct xfs_agf | 51 | typedef struct xfs_agf { |
52 | { | ||
53 | /* | 52 | /* |
54 | * Common allocation group header information | 53 | * Common allocation group header information |
55 | */ | 54 | */ |
56 | __uint32_t agf_magicnum; /* magic number == XFS_AGF_MAGIC */ | 55 | __be32 agf_magicnum; /* magic number == XFS_AGF_MAGIC */ |
57 | __uint32_t agf_versionnum; /* header version == XFS_AGF_VERSION */ | 56 | __be32 agf_versionnum; /* header version == XFS_AGF_VERSION */ |
58 | xfs_agnumber_t agf_seqno; /* sequence # starting from 0 */ | 57 | __be32 agf_seqno; /* sequence # starting from 0 */ |
59 | xfs_agblock_t agf_length; /* size in blocks of a.g. */ | 58 | __be32 agf_length; /* size in blocks of a.g. */ |
60 | /* | 59 | /* |
61 | * Freespace information | 60 | * Freespace information |
62 | */ | 61 | */ |
63 | xfs_agblock_t agf_roots[XFS_BTNUM_AGF]; /* root blocks */ | 62 | __be32 agf_roots[XFS_BTNUM_AGF]; /* root blocks */ |
64 | __uint32_t agf_spare0; /* spare field */ | 63 | __be32 agf_spare0; /* spare field */ |
65 | __uint32_t agf_levels[XFS_BTNUM_AGF]; /* btree levels */ | 64 | __be32 agf_levels[XFS_BTNUM_AGF]; /* btree levels */ |
66 | __uint32_t agf_spare1; /* spare field */ | 65 | __be32 agf_spare1; /* spare field */ |
67 | __uint32_t agf_flfirst; /* first freelist block's index */ | 66 | __be32 agf_flfirst; /* first freelist block's index */ |
68 | __uint32_t agf_fllast; /* last freelist block's index */ | 67 | __be32 agf_fllast; /* last freelist block's index */ |
69 | __uint32_t agf_flcount; /* count of blocks in freelist */ | 68 | __be32 agf_flcount; /* count of blocks in freelist */ |
70 | xfs_extlen_t agf_freeblks; /* total free blocks */ | 69 | __be32 agf_freeblks; /* total free blocks */ |
71 | xfs_extlen_t agf_longest; /* longest free space */ | 70 | __be32 agf_longest; /* longest free space */ |
72 | } xfs_agf_t; | 71 | } xfs_agf_t; |
73 | 72 | ||
74 | #define XFS_AGF_MAGICNUM 0x00000001 | 73 | #define XFS_AGF_MAGICNUM 0x00000001 |
@@ -96,31 +95,30 @@ typedef struct xfs_agf | |||
96 | */ | 95 | */ |
97 | #define XFS_AGI_UNLINKED_BUCKETS 64 | 96 | #define XFS_AGI_UNLINKED_BUCKETS 64 |
98 | 97 | ||
99 | typedef struct xfs_agi | 98 | typedef struct xfs_agi { |
100 | { | ||
101 | /* | 99 | /* |
102 | * Common allocation group header information | 100 | * Common allocation group header information |
103 | */ | 101 | */ |
104 | __uint32_t agi_magicnum; /* magic number == XFS_AGI_MAGIC */ | 102 | __be32 agi_magicnum; /* magic number == XFS_AGI_MAGIC */ |
105 | __uint32_t agi_versionnum; /* header version == XFS_AGI_VERSION */ | 103 | __be32 agi_versionnum; /* header version == XFS_AGI_VERSION */ |
106 | xfs_agnumber_t agi_seqno; /* sequence # starting from 0 */ | 104 | __be32 agi_seqno; /* sequence # starting from 0 */ |
107 | xfs_agblock_t agi_length; /* size in blocks of a.g. */ | 105 | __be32 agi_length; /* size in blocks of a.g. */ |
108 | /* | 106 | /* |
109 | * Inode information | 107 | * Inode information |
110 | * Inodes are mapped by interpreting the inode number, so no | 108 | * Inodes are mapped by interpreting the inode number, so no |
111 | * mapping data is needed here. | 109 | * mapping data is needed here. |
112 | */ | 110 | */ |
113 | xfs_agino_t agi_count; /* count of allocated inodes */ | 111 | __be32 agi_count; /* count of allocated inodes */ |
114 | xfs_agblock_t agi_root; /* root of inode btree */ | 112 | __be32 agi_root; /* root of inode btree */ |
115 | __uint32_t agi_level; /* levels in inode btree */ | 113 | __be32 agi_level; /* levels in inode btree */ |
116 | xfs_agino_t agi_freecount; /* number of free inodes */ | 114 | __be32 agi_freecount; /* number of free inodes */ |
117 | xfs_agino_t agi_newino; /* new inode just allocated */ | 115 | __be32 agi_newino; /* new inode just allocated */ |
118 | xfs_agino_t agi_dirino; /* last directory inode chunk */ | 116 | __be32 agi_dirino; /* last directory inode chunk */ |
119 | /* | 117 | /* |
120 | * Hash table of inodes which have been unlinked but are | 118 | * Hash table of inodes which have been unlinked but are |
121 | * still being referenced. | 119 | * still being referenced. |
122 | */ | 120 | */ |
123 | xfs_agino_t agi_unlinked[XFS_AGI_UNLINKED_BUCKETS]; | 121 | __be32 agi_unlinked[XFS_AGI_UNLINKED_BUCKETS]; |
124 | } xfs_agi_t; | 122 | } xfs_agi_t; |
125 | 123 | ||
126 | #define XFS_AGI_MAGICNUM 0x00000001 | 124 | #define XFS_AGI_MAGICNUM 0x00000001 |
@@ -201,8 +199,8 @@ typedef struct xfs_perag | |||
201 | (MIN(bl + 1, XFS_AG_MAXLEVELS(mp)) + MIN(cl + 1, XFS_AG_MAXLEVELS(mp))) | 199 | (MIN(bl + 1, XFS_AG_MAXLEVELS(mp)) + MIN(cl + 1, XFS_AG_MAXLEVELS(mp))) |
202 | #define XFS_MIN_FREELIST(a,mp) \ | 200 | #define XFS_MIN_FREELIST(a,mp) \ |
203 | (XFS_MIN_FREELIST_RAW( \ | 201 | (XFS_MIN_FREELIST_RAW( \ |
204 | INT_GET((a)->agf_levels[XFS_BTNUM_BNOi], ARCH_CONVERT), \ | 202 | be32_to_cpu((a)->agf_levels[XFS_BTNUM_BNOi]), \ |
205 | INT_GET((a)->agf_levels[XFS_BTNUM_CNTi], ARCH_CONVERT), mp)) | 203 | be32_to_cpu((a)->agf_levels[XFS_BTNUM_CNTi]), mp)) |
206 | #define XFS_MIN_FREELIST_PAG(pag,mp) \ | 204 | #define XFS_MIN_FREELIST_PAG(pag,mp) \ |
207 | (XFS_MIN_FREELIST_RAW( \ | 205 | (XFS_MIN_FREELIST_RAW( \ |
208 | (uint_t)(pag)->pagf_levels[XFS_BTNUM_BNOi], \ | 206 | (uint_t)(pag)->pagf_levels[XFS_BTNUM_BNOi], \ |