aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_dir2_block.h
diff options
context:
space:
mode:
Diffstat (limited to 'fs/xfs/xfs_dir2_block.h')
-rw-r--r--fs/xfs/xfs_dir2_block.h62
1 files changed, 23 insertions, 39 deletions
diff --git a/fs/xfs/xfs_dir2_block.h b/fs/xfs/xfs_dir2_block.h
index 5a578b84e246..70dcbe8976f7 100644
--- a/fs/xfs/xfs_dir2_block.h
+++ b/fs/xfs/xfs_dir2_block.h
@@ -74,53 +74,37 @@ typedef struct xfs_dir2_block {
74/* 74/*
75 * Pointer to the leaf header embedded in a data block (1-block format) 75 * Pointer to the leaf header embedded in a data block (1-block format)
76 */ 76 */
77#if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_DIR2_BLOCK_TAIL_P)
78xfs_dir2_block_tail_t *
79xfs_dir2_block_tail_p(struct xfs_mount *mp, xfs_dir2_block_t *block);
80#define XFS_DIR2_BLOCK_TAIL_P(mp,block) xfs_dir2_block_tail_p(mp,block) 77#define XFS_DIR2_BLOCK_TAIL_P(mp,block) xfs_dir2_block_tail_p(mp,block)
81#else 78static inline xfs_dir2_block_tail_t *
82#define XFS_DIR2_BLOCK_TAIL_P(mp,block) \ 79xfs_dir2_block_tail_p(struct xfs_mount *mp, xfs_dir2_block_t *block)
83 (((xfs_dir2_block_tail_t *)((char *)(block) + (mp)->m_dirblksize)) - 1) 80{
84#endif 81 return (((xfs_dir2_block_tail_t *)
82 ((char *)(block) + (mp)->m_dirblksize)) - 1);
83}
85 84
86/* 85/*
87 * Pointer to the leaf entries embedded in a data block (1-block format) 86 * Pointer to the leaf entries embedded in a data block (1-block format)
88 */ 87 */
89#if XFS_WANT_FUNCS || (XFS_WANT_SPACE && XFSSO_XFS_DIR2_BLOCK_LEAF_P) 88#define XFS_DIR2_BLOCK_LEAF_P(btp) xfs_dir2_block_leaf_p(btp)
90struct xfs_dir2_leaf_entry *xfs_dir2_block_leaf_p(xfs_dir2_block_tail_t *btp); 89static inline struct xfs_dir2_leaf_entry *
91#define XFS_DIR2_BLOCK_LEAF_P(btp) \ 90xfs_dir2_block_leaf_p(xfs_dir2_block_tail_t *btp)
92 xfs_dir2_block_leaf_p(btp) 91{
93#else 92 return (((struct xfs_dir2_leaf_entry *)
94#define XFS_DIR2_BLOCK_LEAF_P(btp) \ 93 (btp)) - INT_GET((btp)->count, ARCH_CONVERT));
95 (((struct xfs_dir2_leaf_entry *)(btp)) - INT_GET((btp)->count, ARCH_CONVERT)) 94}
96#endif
97 95
98/* 96/*
99 * Function declarations. 97 * Function declarations.
100 */ 98 */
101 99extern int xfs_dir2_block_addname(struct xfs_da_args *args);
102extern int 100extern int xfs_dir2_block_getdents(struct xfs_trans *tp, struct xfs_inode *dp,
103 xfs_dir2_block_addname(struct xfs_da_args *args); 101 struct uio *uio, int *eofp,
104 102 struct xfs_dirent *dbp, xfs_dir2_put_t put);
105extern int 103extern int xfs_dir2_block_lookup(struct xfs_da_args *args);
106 xfs_dir2_block_getdents(struct xfs_trans *tp, struct xfs_inode *dp, 104extern int xfs_dir2_block_removename(struct xfs_da_args *args);
107 struct uio *uio, int *eofp, struct xfs_dirent *dbp, 105extern int xfs_dir2_block_replace(struct xfs_da_args *args);
108 xfs_dir2_put_t put); 106extern int xfs_dir2_leaf_to_block(struct xfs_da_args *args,
109 107 struct xfs_dabuf *lbp, struct xfs_dabuf *dbp);
110extern int 108extern int xfs_dir2_sf_to_block(struct xfs_da_args *args);
111 xfs_dir2_block_lookup(struct xfs_da_args *args);
112
113extern int
114 xfs_dir2_block_removename(struct xfs_da_args *args);
115
116extern int
117 xfs_dir2_block_replace(struct xfs_da_args *args);
118
119extern int
120 xfs_dir2_leaf_to_block(struct xfs_da_args *args, struct xfs_dabuf *lbp,
121 struct xfs_dabuf *dbp);
122
123extern int
124 xfs_dir2_sf_to_block(struct xfs_da_args *args);
125 109
126#endif /* __XFS_DIR2_BLOCK_H__ */ 110#endif /* __XFS_DIR2_BLOCK_H__ */