diff options
Diffstat (limited to 'fs/xfs/libxfs/xfs_rmap_btree.h')
-rw-r--r-- | fs/xfs/libxfs/xfs_rmap_btree.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/fs/xfs/libxfs/xfs_rmap_btree.h b/fs/xfs/libxfs/xfs_rmap_btree.h index a3a6b7d476c7..e73a55357dab 100644 --- a/fs/xfs/libxfs/xfs_rmap_btree.h +++ b/fs/xfs/libxfs/xfs_rmap_btree.h | |||
@@ -38,12 +38,18 @@ struct xfs_mount; | |||
38 | #define XFS_RMAP_KEY_ADDR(block, index) \ | 38 | #define XFS_RMAP_KEY_ADDR(block, index) \ |
39 | ((struct xfs_rmap_key *) \ | 39 | ((struct xfs_rmap_key *) \ |
40 | ((char *)(block) + XFS_RMAP_BLOCK_LEN + \ | 40 | ((char *)(block) + XFS_RMAP_BLOCK_LEN + \ |
41 | ((index) - 1) * sizeof(struct xfs_rmap_key))) | 41 | ((index) - 1) * 2 * sizeof(struct xfs_rmap_key))) |
42 | |||
43 | #define XFS_RMAP_HIGH_KEY_ADDR(block, index) \ | ||
44 | ((struct xfs_rmap_key *) \ | ||
45 | ((char *)(block) + XFS_RMAP_BLOCK_LEN + \ | ||
46 | sizeof(struct xfs_rmap_key) + \ | ||
47 | ((index) - 1) * 2 * sizeof(struct xfs_rmap_key))) | ||
42 | 48 | ||
43 | #define XFS_RMAP_PTR_ADDR(block, index, maxrecs) \ | 49 | #define XFS_RMAP_PTR_ADDR(block, index, maxrecs) \ |
44 | ((xfs_rmap_ptr_t *) \ | 50 | ((xfs_rmap_ptr_t *) \ |
45 | ((char *)(block) + XFS_RMAP_BLOCK_LEN + \ | 51 | ((char *)(block) + XFS_RMAP_BLOCK_LEN + \ |
46 | (maxrecs) * sizeof(struct xfs_rmap_key) + \ | 52 | (maxrecs) * 2 * sizeof(struct xfs_rmap_key) + \ |
47 | ((index) - 1) * sizeof(xfs_rmap_ptr_t))) | 53 | ((index) - 1) * sizeof(xfs_rmap_ptr_t))) |
48 | 54 | ||
49 | struct xfs_btree_cur *xfs_rmapbt_init_cursor(struct xfs_mount *mp, | 55 | struct xfs_btree_cur *xfs_rmapbt_init_cursor(struct xfs_mount *mp, |