On Fri, May 23, 2014 at 10:03:38AM +1000, Dave Chinner wrote: > From: Dave Chinner <dchinner@xxxxxxxxxx> > > Because they aren't actually part of the on-disk format, and so > shouldn't be in xfs_da_format.h. > > Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> > --- Looks straightforward. Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> > fs/xfs/xfs_da_btree.h | 137 ++++++++++++++++++++++++++++++++++++++++++++++++ > fs/xfs/xfs_da_format.c | 1 + > fs/xfs/xfs_da_format.h | 138 ------------------------------------------------- > 3 files changed, 138 insertions(+), 138 deletions(-) > > diff --git a/fs/xfs/xfs_da_btree.h b/fs/xfs/xfs_da_btree.h > index 0ac63ad..6d13fd6 100644 > --- a/fs/xfs/xfs_da_btree.h > +++ b/fs/xfs/xfs_da_btree.h > @@ -157,6 +157,143 @@ struct xfs_nameops { > }; > > > +/* > + * Directory offset/block conversion functions. > + * > + * DB blocks here are logical directory block numbers, not filesystem blocks. > + */ > + > +/* > + * Convert dataptr to byte in file space > + */ > +static inline xfs_dir2_off_t > +xfs_dir2_dataptr_to_byte(xfs_dir2_dataptr_t dp) > +{ > + return (xfs_dir2_off_t)dp << XFS_DIR2_DATA_ALIGN_LOG; > +} > + > +/* > + * Convert byte in file space to dataptr. It had better be aligned. > + */ > +static inline xfs_dir2_dataptr_t > +xfs_dir2_byte_to_dataptr(xfs_dir2_off_t by) > +{ > + return (xfs_dir2_dataptr_t)(by >> XFS_DIR2_DATA_ALIGN_LOG); > +} > + > +/* > + * Convert byte in space to (DB) block > + */ > +static inline xfs_dir2_db_t > +xfs_dir2_byte_to_db(struct xfs_mount *mp, xfs_dir2_off_t by) > +{ > + return (xfs_dir2_db_t) > + (by >> (mp->m_sb.sb_blocklog + mp->m_sb.sb_dirblklog)); > +} > + > +/* > + * Convert dataptr to a block number > + */ > +static inline xfs_dir2_db_t > +xfs_dir2_dataptr_to_db(struct xfs_mount *mp, xfs_dir2_dataptr_t dp) > +{ > + return xfs_dir2_byte_to_db(mp, xfs_dir2_dataptr_to_byte(dp)); > +} > + > +/* > + * Convert byte in space to offset in a block > + */ > +static inline xfs_dir2_data_aoff_t > +xfs_dir2_byte_to_off(struct xfs_mount *mp, xfs_dir2_off_t by) > +{ > + return (xfs_dir2_data_aoff_t)(by & > + ((1 << (mp->m_sb.sb_blocklog + mp->m_sb.sb_dirblklog)) - 1)); > +} > + > +/* > + * Convert dataptr to a byte offset in a block > + */ > +static inline xfs_dir2_data_aoff_t > +xfs_dir2_dataptr_to_off(struct xfs_mount *mp, xfs_dir2_dataptr_t dp) > +{ > + return xfs_dir2_byte_to_off(mp, xfs_dir2_dataptr_to_byte(dp)); > +} > + > +/* > + * Convert block and offset to byte in space > + */ > +static inline xfs_dir2_off_t > +xfs_dir2_db_off_to_byte(struct xfs_mount *mp, xfs_dir2_db_t db, > + xfs_dir2_data_aoff_t o) > +{ > + return ((xfs_dir2_off_t)db << > + (mp->m_sb.sb_blocklog + mp->m_sb.sb_dirblklog)) + o; > +} > + > +/* > + * Convert block (DB) to block (dablk) > + */ > +static inline xfs_dablk_t > +xfs_dir2_db_to_da(struct xfs_mount *mp, xfs_dir2_db_t db) > +{ > + return (xfs_dablk_t)(db << mp->m_sb.sb_dirblklog); > +} > + > +/* > + * Convert byte in space to (DA) block > + */ > +static inline xfs_dablk_t > +xfs_dir2_byte_to_da(struct xfs_mount *mp, xfs_dir2_off_t by) > +{ > + return xfs_dir2_db_to_da(mp, xfs_dir2_byte_to_db(mp, by)); > +} > + > +/* > + * Convert block and offset to dataptr > + */ > +static inline xfs_dir2_dataptr_t > +xfs_dir2_db_off_to_dataptr(struct xfs_mount *mp, xfs_dir2_db_t db, > + xfs_dir2_data_aoff_t o) > +{ > + return xfs_dir2_byte_to_dataptr(xfs_dir2_db_off_to_byte(mp, db, o)); > +} > + > +/* > + * Convert block (dablk) to block (DB) > + */ > +static inline xfs_dir2_db_t > +xfs_dir2_da_to_db(struct xfs_mount *mp, xfs_dablk_t da) > +{ > + return (xfs_dir2_db_t)(da >> mp->m_sb.sb_dirblklog); > +} > + > +/* > + * Convert block (dablk) to byte offset in space > + */ > +static inline xfs_dir2_off_t > +xfs_dir2_da_to_byte(struct xfs_mount *mp, xfs_dablk_t da) > +{ > + return xfs_dir2_db_off_to_byte(mp, xfs_dir2_da_to_db(mp, da), 0); > +} > + > +/* > + * Directory tail pointer accessor functions. Based on block geometry. > + */ > +static inline struct xfs_dir2_block_tail * > +xfs_dir2_block_tail_p(struct xfs_mount *mp, struct xfs_dir2_data_hdr *hdr) > +{ > + return ((struct xfs_dir2_block_tail *) > + ((char *)hdr + mp->m_dirblksize)) - 1; > +} > + > +static inline struct xfs_dir2_leaf_tail * > +xfs_dir2_leaf_tail_p(struct xfs_mount *mp, struct xfs_dir2_leaf *lp) > +{ > + return (struct xfs_dir2_leaf_tail *) > + ((char *)lp + mp->m_dirblksize - > + sizeof(struct xfs_dir2_leaf_tail)); > +} > + > /*======================================================================== > * Function prototypes. > *========================================================================*/ > diff --git a/fs/xfs/xfs_da_format.c b/fs/xfs/xfs_da_format.c > index e6c83e1..22bbc79 100644 > --- a/fs/xfs/xfs_da_format.c > +++ b/fs/xfs/xfs_da_format.c > @@ -26,6 +26,7 @@ > #include "xfs_ag.h" > #include "xfs_mount.h" > #include "xfs_da_format.h" > +#include "xfs_da_btree.h" > #include "xfs_inode.h" > #include "xfs_dir2.h" > > diff --git a/fs/xfs/xfs_da_format.h b/fs/xfs/xfs_da_format.h > index 1432b57..32b415c 100644 > --- a/fs/xfs/xfs_da_format.h > +++ b/fs/xfs/xfs_da_format.h > @@ -514,17 +514,6 @@ struct xfs_dir3_leaf { > #define XFS_DIR3_LEAF_CRC_OFF offsetof(struct xfs_dir3_leaf_hdr, info.crc) > > /* > - * Get address of the bestcount field in the single-leaf block. > - */ > -static inline struct xfs_dir2_leaf_tail * > -xfs_dir2_leaf_tail_p(struct xfs_mount *mp, struct xfs_dir2_leaf *lp) > -{ > - return (struct xfs_dir2_leaf_tail *) > - ((char *)lp + mp->m_dirblksize - > - sizeof(struct xfs_dir2_leaf_tail)); > -} > - > -/* > * Get address of the bests array in the single-leaf block. > */ > static inline __be16 * > @@ -534,123 +523,6 @@ xfs_dir2_leaf_bests_p(struct xfs_dir2_leaf_tail *ltp) > } > > /* > - * DB blocks here are logical directory block numbers, not filesystem blocks. > - */ > - > -/* > - * Convert dataptr to byte in file space > - */ > -static inline xfs_dir2_off_t > -xfs_dir2_dataptr_to_byte(xfs_dir2_dataptr_t dp) > -{ > - return (xfs_dir2_off_t)dp << XFS_DIR2_DATA_ALIGN_LOG; > -} > - > -/* > - * Convert byte in file space to dataptr. It had better be aligned. > - */ > -static inline xfs_dir2_dataptr_t > -xfs_dir2_byte_to_dataptr(xfs_dir2_off_t by) > -{ > - return (xfs_dir2_dataptr_t)(by >> XFS_DIR2_DATA_ALIGN_LOG); > -} > - > -/* > - * Convert byte in space to (DB) block > - */ > -static inline xfs_dir2_db_t > -xfs_dir2_byte_to_db(struct xfs_mount *mp, xfs_dir2_off_t by) > -{ > - return (xfs_dir2_db_t) > - (by >> (mp->m_sb.sb_blocklog + mp->m_sb.sb_dirblklog)); > -} > - > -/* > - * Convert dataptr to a block number > - */ > -static inline xfs_dir2_db_t > -xfs_dir2_dataptr_to_db(struct xfs_mount *mp, xfs_dir2_dataptr_t dp) > -{ > - return xfs_dir2_byte_to_db(mp, xfs_dir2_dataptr_to_byte(dp)); > -} > - > -/* > - * Convert byte in space to offset in a block > - */ > -static inline xfs_dir2_data_aoff_t > -xfs_dir2_byte_to_off(struct xfs_mount *mp, xfs_dir2_off_t by) > -{ > - return (xfs_dir2_data_aoff_t)(by & > - ((1 << (mp->m_sb.sb_blocklog + mp->m_sb.sb_dirblklog)) - 1)); > -} > - > -/* > - * Convert dataptr to a byte offset in a block > - */ > -static inline xfs_dir2_data_aoff_t > -xfs_dir2_dataptr_to_off(struct xfs_mount *mp, xfs_dir2_dataptr_t dp) > -{ > - return xfs_dir2_byte_to_off(mp, xfs_dir2_dataptr_to_byte(dp)); > -} > - > -/* > - * Convert block and offset to byte in space > - */ > -static inline xfs_dir2_off_t > -xfs_dir2_db_off_to_byte(struct xfs_mount *mp, xfs_dir2_db_t db, > - xfs_dir2_data_aoff_t o) > -{ > - return ((xfs_dir2_off_t)db << > - (mp->m_sb.sb_blocklog + mp->m_sb.sb_dirblklog)) + o; > -} > - > -/* > - * Convert block (DB) to block (dablk) > - */ > -static inline xfs_dablk_t > -xfs_dir2_db_to_da(struct xfs_mount *mp, xfs_dir2_db_t db) > -{ > - return (xfs_dablk_t)(db << mp->m_sb.sb_dirblklog); > -} > - > -/* > - * Convert byte in space to (DA) block > - */ > -static inline xfs_dablk_t > -xfs_dir2_byte_to_da(struct xfs_mount *mp, xfs_dir2_off_t by) > -{ > - return xfs_dir2_db_to_da(mp, xfs_dir2_byte_to_db(mp, by)); > -} > - > -/* > - * Convert block and offset to dataptr > - */ > -static inline xfs_dir2_dataptr_t > -xfs_dir2_db_off_to_dataptr(struct xfs_mount *mp, xfs_dir2_db_t db, > - xfs_dir2_data_aoff_t o) > -{ > - return xfs_dir2_byte_to_dataptr(xfs_dir2_db_off_to_byte(mp, db, o)); > -} > - > -/* > - * Convert block (dablk) to block (DB) > - */ > -static inline xfs_dir2_db_t > -xfs_dir2_da_to_db(struct xfs_mount *mp, xfs_dablk_t da) > -{ > - return (xfs_dir2_db_t)(da >> mp->m_sb.sb_dirblklog); > -} > - > -/* > - * Convert block (dablk) to byte offset in space > - */ > -static inline xfs_dir2_off_t > -xfs_dir2_da_to_byte(struct xfs_mount *mp, xfs_dablk_t da) > -{ > - return xfs_dir2_db_off_to_byte(mp, xfs_dir2_da_to_db(mp, da), 0); > -} > - > -/* > * Free space block defintions for the node format. > */ > > @@ -736,16 +608,6 @@ typedef struct xfs_dir2_block_tail { > } xfs_dir2_block_tail_t; > > /* > - * Pointer to the leaf header embedded in a data block (1-block format) > - */ > -static inline struct xfs_dir2_block_tail * > -xfs_dir2_block_tail_p(struct xfs_mount *mp, struct xfs_dir2_data_hdr *hdr) > -{ > - return ((struct xfs_dir2_block_tail *) > - ((char *)hdr + mp->m_dirblksize)) - 1; > -} > - > -/* > * Pointer to the leaf entries embedded in a data block (1-block format) > */ > static inline struct xfs_dir2_leaf_entry * > -- > 1.9.0 > > _______________________________________________ > xfs mailing list > xfs@xxxxxxxxxxx > http://oss.sgi.com/mailman/listinfo/xfs _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs