xfs: reshuffle dir2 definitions around for userspace
Many of the definitions within xfs_dir2_priv.h are needed in userspace outside libxfs. Definitions within xfs_dir2_priv.h are wholly contained within libxfs, so we need to shuffle some of the definitions around to keep consistency across files shared between user and kernel space. Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Brian Foster <bfoster@redhat.com> Reviewed-by: Mark Tinguely <tinguely@sgi.com> Signed-off-by: Ben Myers <bpm@sgi.com>
This commit is contained in:
		
					parent
					
						
							
								4a8af273de
							
						
					
				
			
			
				commit
				
					
						2b9ab5ab9c
					
				
			
		
					 22 changed files with 83 additions and 64 deletions
				
			
		|  | @ -23,6 +23,11 @@ struct xfs_da_args; | |||
| struct xfs_inode; | ||||
| struct xfs_mount; | ||||
| struct xfs_trans; | ||||
| struct xfs_dir2_sf_hdr; | ||||
| struct xfs_dir2_sf_entry; | ||||
| struct xfs_dir2_data_hdr; | ||||
| struct xfs_dir2_data_entry; | ||||
| struct xfs_dir2_data_unused; | ||||
| 
 | ||||
| extern struct xfs_name	xfs_name_dotdot; | ||||
| 
 | ||||
|  | @ -57,4 +62,50 @@ extern int xfs_dir_canenter(struct xfs_trans *tp, struct xfs_inode *dp, | |||
|  */ | ||||
| extern int xfs_dir2_sf_to_block(struct xfs_da_args *args); | ||||
| 
 | ||||
| /*
 | ||||
|  * Direct call on directory open, before entering the readdir code. | ||||
|  */ | ||||
| extern int xfs_dir3_data_readahead(struct xfs_trans *tp, struct xfs_inode *dp, | ||||
| 		xfs_dablk_t bno, xfs_daddr_t mapped_bno); | ||||
| 
 | ||||
| /*
 | ||||
|  * Interface routines used by userspace utilities | ||||
|  */ | ||||
| extern xfs_ino_t xfs_dir2_sf_get_parent_ino(struct xfs_dir2_sf_hdr *sfp); | ||||
| extern void xfs_dir2_sf_put_parent_ino(struct xfs_dir2_sf_hdr *sfp, | ||||
| 		xfs_ino_t ino); | ||||
| extern xfs_ino_t xfs_dir2_sfe_get_ino(struct xfs_dir2_sf_hdr *sfp, | ||||
| 		struct xfs_dir2_sf_entry *sfep); | ||||
| extern void xfs_dir2_sfe_put_ino( struct xfs_dir2_sf_hdr *, | ||||
| 		struct xfs_dir2_sf_entry *sfep, xfs_ino_t ino); | ||||
| 
 | ||||
| extern int xfs_dir2_isblock(struct xfs_trans *tp, struct xfs_inode *dp, int *r); | ||||
| extern int xfs_dir2_isleaf(struct xfs_trans *tp, struct xfs_inode *dp, int *r); | ||||
| extern int xfs_dir2_shrink_inode(struct xfs_da_args *args, xfs_dir2_db_t db, | ||||
| 				struct xfs_buf *bp); | ||||
| 
 | ||||
| extern void xfs_dir2_data_freescan(struct xfs_mount *mp, | ||||
| 		struct xfs_dir2_data_hdr *hdr, int *loghead); | ||||
| extern void xfs_dir2_data_log_entry(struct xfs_trans *tp, struct xfs_buf *bp, | ||||
| 		struct xfs_dir2_data_entry *dep); | ||||
| extern void xfs_dir2_data_log_header(struct xfs_trans *tp, | ||||
| 		struct xfs_buf *bp); | ||||
| extern void xfs_dir2_data_log_unused(struct xfs_trans *tp, struct xfs_buf *bp, | ||||
| 		struct xfs_dir2_data_unused *dup); | ||||
| extern void xfs_dir2_data_make_free(struct xfs_trans *tp, struct xfs_buf *bp, | ||||
| 		xfs_dir2_data_aoff_t offset, xfs_dir2_data_aoff_t len, | ||||
| 		int *needlogp, int *needscanp); | ||||
| extern void xfs_dir2_data_use_free(struct xfs_trans *tp, struct xfs_buf *bp, | ||||
| 		struct xfs_dir2_data_unused *dup, xfs_dir2_data_aoff_t offset, | ||||
| 		xfs_dir2_data_aoff_t len, int *needlogp, int *needscanp); | ||||
| 
 | ||||
| extern struct xfs_dir2_data_free *xfs_dir2_data_freefind( | ||||
| 		struct xfs_dir2_data_hdr *hdr, struct xfs_dir2_data_unused *dup); | ||||
| 
 | ||||
| extern const struct xfs_buf_ops xfs_dir3_block_buf_ops; | ||||
| extern const struct xfs_buf_ops xfs_dir3_leafn_buf_ops; | ||||
| extern const struct xfs_buf_ops xfs_dir3_leaf1_buf_ops; | ||||
| extern const struct xfs_buf_ops xfs_dir3_free_buf_ops; | ||||
| extern const struct xfs_buf_ops xfs_dir3_data_buf_ops; | ||||
| 
 | ||||
| #endif	/* __XFS_DIR2_H__ */ | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Dave Chinner
				Dave Chinner