diff options
Diffstat (limited to 'fs/xfs/xfs_bmap_btree.h')
-rw-r--r-- | fs/xfs/xfs_bmap_btree.h | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/fs/xfs/xfs_bmap_btree.h b/fs/xfs/xfs_bmap_btree.h index 7f001072db47..735a42418c99 100644 --- a/fs/xfs/xfs_bmap_btree.h +++ b/fs/xfs/xfs_bmap_btree.h | |||
@@ -22,7 +22,6 @@ | |||
22 | 22 | ||
23 | struct xfs_btree_cur; | 23 | struct xfs_btree_cur; |
24 | struct xfs_btree_block; | 24 | struct xfs_btree_block; |
25 | struct xfs_btree_lblock; | ||
26 | struct xfs_mount; | 25 | struct xfs_mount; |
27 | struct xfs_inode; | 26 | struct xfs_inode; |
28 | struct xfs_trans; | 27 | struct xfs_trans; |
@@ -147,27 +146,29 @@ typedef struct xfs_bmbt_key { | |||
147 | /* btree pointer type */ | 146 | /* btree pointer type */ |
148 | typedef __be64 xfs_bmbt_ptr_t, xfs_bmdr_ptr_t; | 147 | typedef __be64 xfs_bmbt_ptr_t, xfs_bmdr_ptr_t; |
149 | 148 | ||
150 | /* btree block header type */ | 149 | /* |
151 | typedef struct xfs_btree_lblock xfs_bmbt_block_t; | 150 | * Btree block header size depends on a superblock flag. |
152 | 151 | * | |
153 | #define XFS_BUF_TO_BMBT_BLOCK(bp) ((xfs_bmbt_block_t *)XFS_BUF_PTR(bp)) | 152 | * (not quite yet, but soon) |
153 | */ | ||
154 | #define XFS_BMBT_BLOCK_LEN(mp) XFS_BTREE_LBLOCK_LEN | ||
154 | 155 | ||
155 | #define XFS_BMBT_REC_ADDR(mp, block, index) \ | 156 | #define XFS_BMBT_REC_ADDR(mp, block, index) \ |
156 | ((xfs_bmbt_rec_t *) \ | 157 | ((xfs_bmbt_rec_t *) \ |
157 | ((char *)(block) + \ | 158 | ((char *)(block) + \ |
158 | sizeof(struct xfs_btree_lblock) + \ | 159 | XFS_BMBT_BLOCK_LEN(mp) + \ |
159 | ((index) - 1) * sizeof(xfs_bmbt_rec_t))) | 160 | ((index) - 1) * sizeof(xfs_bmbt_rec_t))) |
160 | 161 | ||
161 | #define XFS_BMBT_KEY_ADDR(mp, block, index) \ | 162 | #define XFS_BMBT_KEY_ADDR(mp, block, index) \ |
162 | ((xfs_bmbt_key_t *) \ | 163 | ((xfs_bmbt_key_t *) \ |
163 | ((char *)(block) + \ | 164 | ((char *)(block) + \ |
164 | sizeof(struct xfs_btree_lblock) + \ | 165 | XFS_BMBT_BLOCK_LEN(mp) + \ |
165 | ((index) - 1) * sizeof(xfs_bmbt_key_t))) | 166 | ((index) - 1) * sizeof(xfs_bmbt_key_t))) |
166 | 167 | ||
167 | #define XFS_BMBT_PTR_ADDR(mp, block, index, maxrecs) \ | 168 | #define XFS_BMBT_PTR_ADDR(mp, block, index, maxrecs) \ |
168 | ((xfs_bmbt_ptr_t *) \ | 169 | ((xfs_bmbt_ptr_t *) \ |
169 | ((char *)(block) + \ | 170 | ((char *)(block) + \ |
170 | sizeof(struct xfs_btree_lblock) + \ | 171 | XFS_BMBT_BLOCK_LEN(mp) + \ |
171 | (maxrecs) * sizeof(xfs_bmbt_key_t) + \ | 172 | (maxrecs) * sizeof(xfs_bmbt_key_t) + \ |
172 | ((index) - 1) * sizeof(xfs_bmbt_ptr_t))) | 173 | ((index) - 1) * sizeof(xfs_bmbt_ptr_t))) |
173 | 174 | ||
@@ -198,7 +199,7 @@ typedef struct xfs_btree_lblock xfs_bmbt_block_t; | |||
198 | XFS_BMBT_PTR_ADDR(mp, bb, i, xfs_bmbt_maxrecs(mp, sz, 0)) | 199 | XFS_BMBT_PTR_ADDR(mp, bb, i, xfs_bmbt_maxrecs(mp, sz, 0)) |
199 | 200 | ||
200 | #define XFS_BMAP_BROOT_SPACE_CALC(nrecs) \ | 201 | #define XFS_BMAP_BROOT_SPACE_CALC(nrecs) \ |
201 | (int)(sizeof(xfs_bmbt_block_t) + \ | 202 | (int)(XFS_BTREE_LBLOCK_LEN + \ |
202 | ((nrecs) * (sizeof(xfs_bmbt_key_t) + sizeof(xfs_bmbt_ptr_t)))) | 203 | ((nrecs) * (sizeof(xfs_bmbt_key_t) + sizeof(xfs_bmbt_ptr_t)))) |
203 | 204 | ||
204 | #define XFS_BMAP_BROOT_SPACE(bb) \ | 205 | #define XFS_BMAP_BROOT_SPACE(bb) \ |
@@ -223,7 +224,7 @@ typedef struct xfs_btree_lblock xfs_bmbt_block_t; | |||
223 | * Prototypes for xfs_bmap.c to call. | 224 | * Prototypes for xfs_bmap.c to call. |
224 | */ | 225 | */ |
225 | extern void xfs_bmdr_to_bmbt(struct xfs_mount *, xfs_bmdr_block_t *, int, | 226 | extern void xfs_bmdr_to_bmbt(struct xfs_mount *, xfs_bmdr_block_t *, int, |
226 | xfs_bmbt_block_t *, int); | 227 | struct xfs_btree_block *, int); |
227 | extern void xfs_bmbt_get_all(xfs_bmbt_rec_host_t *r, xfs_bmbt_irec_t *s); | 228 | extern void xfs_bmbt_get_all(xfs_bmbt_rec_host_t *r, xfs_bmbt_irec_t *s); |
228 | extern xfs_filblks_t xfs_bmbt_get_blockcount(xfs_bmbt_rec_host_t *r); | 229 | extern xfs_filblks_t xfs_bmbt_get_blockcount(xfs_bmbt_rec_host_t *r); |
229 | extern xfs_fsblock_t xfs_bmbt_get_startblock(xfs_bmbt_rec_host_t *r); | 230 | extern xfs_fsblock_t xfs_bmbt_get_startblock(xfs_bmbt_rec_host_t *r); |
@@ -246,7 +247,7 @@ extern void xfs_bmbt_disk_set_all(xfs_bmbt_rec_t *r, xfs_bmbt_irec_t *s); | |||
246 | extern void xfs_bmbt_disk_set_allf(xfs_bmbt_rec_t *r, xfs_fileoff_t o, | 247 | extern void xfs_bmbt_disk_set_allf(xfs_bmbt_rec_t *r, xfs_fileoff_t o, |
247 | xfs_fsblock_t b, xfs_filblks_t c, xfs_exntst_t v); | 248 | xfs_fsblock_t b, xfs_filblks_t c, xfs_exntst_t v); |
248 | 249 | ||
249 | extern void xfs_bmbt_to_bmdr(struct xfs_mount *, xfs_bmbt_block_t *, int, | 250 | extern void xfs_bmbt_to_bmdr(struct xfs_mount *, struct xfs_btree_block *, int, |
250 | xfs_bmdr_block_t *, int); | 251 | xfs_bmdr_block_t *, int); |
251 | 252 | ||
252 | extern int xfs_bmbt_get_maxrecs(struct xfs_btree_cur *, int level); | 253 | extern int xfs_bmbt_get_maxrecs(struct xfs_btree_cur *, int level); |