diff options
Diffstat (limited to 'fs/xfs/xfs_dir2.h')
-rw-r--r-- | fs/xfs/xfs_dir2.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/fs/xfs/xfs_dir2.h b/fs/xfs/xfs_dir2.h index e937d9991c18..7ef6b0fb951a 100644 --- a/fs/xfs/xfs_dir2.h +++ b/fs/xfs/xfs_dir2.h | |||
@@ -23,6 +23,11 @@ struct xfs_da_args; | |||
23 | struct xfs_inode; | 23 | struct xfs_inode; |
24 | struct xfs_mount; | 24 | struct xfs_mount; |
25 | struct xfs_trans; | 25 | struct xfs_trans; |
26 | struct xfs_dir2_sf_hdr; | ||
27 | struct xfs_dir2_sf_entry; | ||
28 | struct xfs_dir2_data_hdr; | ||
29 | struct xfs_dir2_data_entry; | ||
30 | struct xfs_dir2_data_unused; | ||
26 | 31 | ||
27 | extern struct xfs_name xfs_name_dotdot; | 32 | extern struct xfs_name xfs_name_dotdot; |
28 | 33 | ||
@@ -57,4 +62,50 @@ extern int xfs_dir_canenter(struct xfs_trans *tp, struct xfs_inode *dp, | |||
57 | */ | 62 | */ |
58 | extern int xfs_dir2_sf_to_block(struct xfs_da_args *args); | 63 | extern int xfs_dir2_sf_to_block(struct xfs_da_args *args); |
59 | 64 | ||
65 | /* | ||
66 | * Direct call on directory open, before entering the readdir code. | ||
67 | */ | ||
68 | extern int xfs_dir3_data_readahead(struct xfs_trans *tp, struct xfs_inode *dp, | ||
69 | xfs_dablk_t bno, xfs_daddr_t mapped_bno); | ||
70 | |||
71 | /* | ||
72 | * Interface routines used by userspace utilities | ||
73 | */ | ||
74 | extern xfs_ino_t xfs_dir2_sf_get_parent_ino(struct xfs_dir2_sf_hdr *sfp); | ||
75 | extern void xfs_dir2_sf_put_parent_ino(struct xfs_dir2_sf_hdr *sfp, | ||
76 | xfs_ino_t ino); | ||
77 | extern xfs_ino_t xfs_dir2_sfe_get_ino(struct xfs_dir2_sf_hdr *sfp, | ||
78 | struct xfs_dir2_sf_entry *sfep); | ||
79 | extern void xfs_dir2_sfe_put_ino( struct xfs_dir2_sf_hdr *, | ||
80 | struct xfs_dir2_sf_entry *sfep, xfs_ino_t ino); | ||
81 | |||
82 | extern int xfs_dir2_isblock(struct xfs_trans *tp, struct xfs_inode *dp, int *r); | ||
83 | extern int xfs_dir2_isleaf(struct xfs_trans *tp, struct xfs_inode *dp, int *r); | ||
84 | extern int xfs_dir2_shrink_inode(struct xfs_da_args *args, xfs_dir2_db_t db, | ||
85 | struct xfs_buf *bp); | ||
86 | |||
87 | extern void xfs_dir2_data_freescan(struct xfs_mount *mp, | ||
88 | struct xfs_dir2_data_hdr *hdr, int *loghead); | ||
89 | extern void xfs_dir2_data_log_entry(struct xfs_trans *tp, struct xfs_buf *bp, | ||
90 | struct xfs_dir2_data_entry *dep); | ||
91 | extern void xfs_dir2_data_log_header(struct xfs_trans *tp, | ||
92 | struct xfs_buf *bp); | ||
93 | extern void xfs_dir2_data_log_unused(struct xfs_trans *tp, struct xfs_buf *bp, | ||
94 | struct xfs_dir2_data_unused *dup); | ||
95 | extern void xfs_dir2_data_make_free(struct xfs_trans *tp, struct xfs_buf *bp, | ||
96 | xfs_dir2_data_aoff_t offset, xfs_dir2_data_aoff_t len, | ||
97 | int *needlogp, int *needscanp); | ||
98 | extern void xfs_dir2_data_use_free(struct xfs_trans *tp, struct xfs_buf *bp, | ||
99 | struct xfs_dir2_data_unused *dup, xfs_dir2_data_aoff_t offset, | ||
100 | xfs_dir2_data_aoff_t len, int *needlogp, int *needscanp); | ||
101 | |||
102 | extern struct xfs_dir2_data_free *xfs_dir2_data_freefind( | ||
103 | struct xfs_dir2_data_hdr *hdr, struct xfs_dir2_data_unused *dup); | ||
104 | |||
105 | extern const struct xfs_buf_ops xfs_dir3_block_buf_ops; | ||
106 | extern const struct xfs_buf_ops xfs_dir3_leafn_buf_ops; | ||
107 | extern const struct xfs_buf_ops xfs_dir3_leaf1_buf_ops; | ||
108 | extern const struct xfs_buf_ops xfs_dir3_free_buf_ops; | ||
109 | extern const struct xfs_buf_ops xfs_dir3_data_buf_ops; | ||
110 | |||
60 | #endif /* __XFS_DIR2_H__ */ | 111 | #endif /* __XFS_DIR2_H__ */ |