aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_ialloc_btree.h
diff options
context:
space:
mode:
Diffstat (limited to 'fs/xfs/xfs_ialloc_btree.h')
-rw-r--r--fs/xfs/xfs_ialloc_btree.h51
1 files changed, 0 insertions, 51 deletions
diff --git a/fs/xfs/xfs_ialloc_btree.h b/fs/xfs/xfs_ialloc_btree.h
index 3ac36b7642e9..f38b22011c4e 100644
--- a/fs/xfs/xfs_ialloc_btree.h
+++ b/fs/xfs/xfs_ialloc_btree.h
@@ -27,55 +27,6 @@ struct xfs_btree_cur;
27struct xfs_mount; 27struct xfs_mount;
28 28
29/* 29/*
30 * There is a btree for the inode map per allocation group.
31 */
32#define XFS_IBT_MAGIC 0x49414254 /* 'IABT' */
33#define XFS_IBT_CRC_MAGIC 0x49414233 /* 'IAB3' */
34
35typedef __uint64_t xfs_inofree_t;
36#define XFS_INODES_PER_CHUNK (NBBY * sizeof(xfs_inofree_t))
37#define XFS_INODES_PER_CHUNK_LOG (XFS_NBBYLOG + 3)
38#define XFS_INOBT_ALL_FREE ((xfs_inofree_t)-1)
39#define XFS_INOBT_MASK(i) ((xfs_inofree_t)1 << (i))
40
41static inline xfs_inofree_t xfs_inobt_maskn(int i, int n)
42{
43 return ((n >= XFS_INODES_PER_CHUNK ? 0 : XFS_INOBT_MASK(n)) - 1) << i;
44}
45
46/*
47 * Data record structure
48 */
49typedef struct xfs_inobt_rec {
50 __be32 ir_startino; /* starting inode number */
51 __be32 ir_freecount; /* count of free inodes (set bits) */
52 __be64 ir_free; /* free inode mask */
53} xfs_inobt_rec_t;
54
55typedef struct xfs_inobt_rec_incore {
56 xfs_agino_t ir_startino; /* starting inode number */
57 __int32_t ir_freecount; /* count of free inodes (set bits) */
58 xfs_inofree_t ir_free; /* free inode mask */
59} xfs_inobt_rec_incore_t;
60
61
62/*
63 * Key structure
64 */
65typedef struct xfs_inobt_key {
66 __be32 ir_startino; /* starting inode number */
67} xfs_inobt_key_t;
68
69/* btree pointer type */
70typedef __be32 xfs_inobt_ptr_t;
71
72/*
73 * block numbers in the AG.
74 */
75#define XFS_IBT_BLOCK(mp) ((xfs_agblock_t)(XFS_CNT_BLOCK(mp) + 1))
76#define XFS_PREALLOC_BLOCKS(mp) ((xfs_agblock_t)(XFS_IBT_BLOCK(mp) + 1))
77
78/*
79 * Btree block header size depends on a superblock flag. 30 * Btree block header size depends on a superblock flag.
80 */ 31 */
81#define XFS_INOBT_BLOCK_LEN(mp) \ 32#define XFS_INOBT_BLOCK_LEN(mp) \
@@ -110,6 +61,4 @@ extern struct xfs_btree_cur *xfs_inobt_init_cursor(struct xfs_mount *,
110 struct xfs_trans *, struct xfs_buf *, xfs_agnumber_t); 61 struct xfs_trans *, struct xfs_buf *, xfs_agnumber_t);
111extern int xfs_inobt_maxrecs(struct xfs_mount *, int, int); 62extern int xfs_inobt_maxrecs(struct xfs_mount *, int, int);
112 63
113extern const struct xfs_buf_ops xfs_inobt_buf_ops;
114
115#endif /* __XFS_IALLOC_BTREE_H__ */ 64#endif /* __XFS_IALLOC_BTREE_H__ */