Re: [PATCH 08/49] xfs: introduce xfs_rtalloc_defs.h

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 07/19/2013 02:24 AM, Dave Chinner wrote:
> From: Dave Chinner <dchinner@xxxxxxxxxx>
> 
> There are quite a few realtime device definitions shared with
> userspace. Move them from xfs_rtalloc.h to xfs_rt_alloc_defs.h
> so we don't need to share xfs_rtalloc.h with userspace anymore.
> 
> This removes the final __KERNEL__ region from the XFS kernel
> codebase. Yay!
> 
> Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
> ---

Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx>

>  fs/xfs/xfs_format.h  | 41 ++++++++++++++++++++++++++++++++++++++++
>  fs/xfs/xfs_rtalloc.c |  2 +-
>  fs/xfs/xfs_rtalloc.h | 53 ++--------------------------------------------------
>  fs/xfs/xfs_types.h   | 10 ++++++++++
>  4 files changed, 54 insertions(+), 52 deletions(-)
> 
> diff --git a/fs/xfs/xfs_format.h b/fs/xfs/xfs_format.h
> index 2b4f166..6205374 100644
> --- a/fs/xfs/xfs_format.h
> +++ b/fs/xfs/xfs_format.h
> @@ -28,6 +28,47 @@
>   */
>  
>  /*
> + * RealTime Device format definitions
> + */
> +
> +/* Min and max rt extent sizes, specified in bytes */
> +#define	XFS_MAX_RTEXTSIZE	(1024 * 1024 * 1024)	/* 1GB */
> +#define	XFS_DFL_RTEXTSIZE	(64 * 1024)	        /* 64kB */
> +#define	XFS_MIN_RTEXTSIZE	(4 * 1024)		/* 4kB */
> +
> +#define	XFS_BLOCKSIZE(mp)	((mp)->m_sb.sb_blocksize)
> +#define	XFS_BLOCKMASK(mp)	((mp)->m_blockmask)
> +#define	XFS_BLOCKWSIZE(mp)	((mp)->m_blockwsize)
> +#define	XFS_BLOCKWMASK(mp)	((mp)->m_blockwmask)
> +
> +/*
> + * RT Summary and bit manipulation macros.
> + */
> +#define	XFS_SUMOFFS(mp,ls,bb)	((int)((ls) * (mp)->m_sb.sb_rbmblocks + (bb)))
> +#define	XFS_SUMOFFSTOBLOCK(mp,s)	\
> +	(((s) * (uint)sizeof(xfs_suminfo_t)) >> (mp)->m_sb.sb_blocklog)
> +#define	XFS_SUMPTR(mp,bp,so)	\
> +	((xfs_suminfo_t *)((bp)->b_addr + \
> +		(((so) * (uint)sizeof(xfs_suminfo_t)) & XFS_BLOCKMASK(mp))))
> +
> +#define	XFS_BITTOBLOCK(mp,bi)	((bi) >> (mp)->m_blkbit_log)
> +#define	XFS_BLOCKTOBIT(mp,bb)	((bb) << (mp)->m_blkbit_log)
> +#define	XFS_BITTOWORD(mp,bi)	\
> +	((int)(((bi) >> XFS_NBWORDLOG) & XFS_BLOCKWMASK(mp)))
> +
> +#define	XFS_RTMIN(a,b)	((a) < (b) ? (a) : (b))
> +#define	XFS_RTMAX(a,b)	((a) > (b) ? (a) : (b))
> +
> +#define	XFS_RTLOBIT(w)	xfs_lowbit32(w)
> +#define	XFS_RTHIBIT(w)	xfs_highbit32(w)
> +
> +#if XFS_BIG_BLKNOS
> +#define	XFS_RTBLOCKLOG(b)	xfs_highbit64(b)
> +#else
> +#define	XFS_RTBLOCKLOG(b)	xfs_highbit32(b)
> +#endif
> +
> +/*
>   * Dquot and dquot block format definitions
>   */
>  #define XFS_DQUOT_MAGIC		0x4451		/* 'DQ' */
> diff --git a/fs/xfs/xfs_rtalloc.c b/fs/xfs/xfs_rtalloc.c
> index 98dc670..5d900ec 100644
> --- a/fs/xfs/xfs_rtalloc.c
> +++ b/fs/xfs/xfs_rtalloc.c
> @@ -17,7 +17,7 @@
>   */
>  #include "xfs.h"
>  #include "xfs_fs.h"
> -#include "xfs_types.h"
> +#include "xfs_format.h"
>  #include "xfs_bit.h"
>  #include "xfs_log.h"
>  #include "xfs_trans.h"
> diff --git a/fs/xfs/xfs_rtalloc.h b/fs/xfs/xfs_rtalloc.h
> index f7f3a35..b2a1a24 100644
> --- a/fs/xfs/xfs_rtalloc.h
> +++ b/fs/xfs/xfs_rtalloc.h
> @@ -18,58 +18,11 @@
>  #ifndef __XFS_RTALLOC_H__
>  #define	__XFS_RTALLOC_H__
>  
> +/* kernel only definitions and functions */
> +
>  struct xfs_mount;
>  struct xfs_trans;
>  
> -/* Min and max rt extent sizes, specified in bytes */
> -#define	XFS_MAX_RTEXTSIZE	(1024 * 1024 * 1024)	/* 1GB */
> -#define	XFS_DFL_RTEXTSIZE	(64 * 1024)	        /* 64kB */
> -#define	XFS_MIN_RTEXTSIZE	(4 * 1024)		/* 4kB */
> -
> -/*
> - * Constants for bit manipulations.
> - */
> -#define	XFS_NBBYLOG	3		/* log2(NBBY) */
> -#define	XFS_WORDLOG	2		/* log2(sizeof(xfs_rtword_t)) */
> -#define	XFS_NBWORDLOG	(XFS_NBBYLOG + XFS_WORDLOG)
> -#define	XFS_NBWORD	(1 << XFS_NBWORDLOG)
> -#define	XFS_WORDMASK	((1 << XFS_WORDLOG) - 1)
> -
> -#define	XFS_BLOCKSIZE(mp)	((mp)->m_sb.sb_blocksize)
> -#define	XFS_BLOCKMASK(mp)	((mp)->m_blockmask)
> -#define	XFS_BLOCKWSIZE(mp)	((mp)->m_blockwsize)
> -#define	XFS_BLOCKWMASK(mp)	((mp)->m_blockwmask)
> -
> -/*
> - * Summary and bit manipulation macros.
> - */
> -#define	XFS_SUMOFFS(mp,ls,bb)	((int)((ls) * (mp)->m_sb.sb_rbmblocks + (bb)))
> -#define	XFS_SUMOFFSTOBLOCK(mp,s)	\
> -	(((s) * (uint)sizeof(xfs_suminfo_t)) >> (mp)->m_sb.sb_blocklog)
> -#define	XFS_SUMPTR(mp,bp,so)	\
> -	((xfs_suminfo_t *)((bp)->b_addr + \
> -		(((so) * (uint)sizeof(xfs_suminfo_t)) & XFS_BLOCKMASK(mp))))
> -
> -#define	XFS_BITTOBLOCK(mp,bi)	((bi) >> (mp)->m_blkbit_log)
> -#define	XFS_BLOCKTOBIT(mp,bb)	((bb) << (mp)->m_blkbit_log)
> -#define	XFS_BITTOWORD(mp,bi)	\
> -	((int)(((bi) >> XFS_NBWORDLOG) & XFS_BLOCKWMASK(mp)))
> -
> -#define	XFS_RTMIN(a,b)	((a) < (b) ? (a) : (b))
> -#define	XFS_RTMAX(a,b)	((a) > (b) ? (a) : (b))
> -
> -#define	XFS_RTLOBIT(w)	xfs_lowbit32(w)
> -#define	XFS_RTHIBIT(w)	xfs_highbit32(w)
> -
> -#if XFS_BIG_BLKNOS
> -#define	XFS_RTBLOCKLOG(b)	xfs_highbit64(b)
> -#else
> -#define	XFS_RTBLOCKLOG(b)	xfs_highbit32(b)
> -#endif
> -
> -
> -#ifdef __KERNEL__
> -
>  #ifdef CONFIG_XFS_RT
>  /*
>   * Function prototypes for exported functions.
> @@ -161,6 +114,4 @@ xfs_rtmount_init(
>  # define xfs_rtunmount_inodes(m)
>  #endif	/* CONFIG_XFS_RT */
>  
> -#endif	/* __KERNEL__ */
> -
>  #endif	/* __XFS_RTALLOC_H__ */
> diff --git a/fs/xfs/xfs_types.h b/fs/xfs/xfs_types.h
> index 69074ac..781772c 100644
> --- a/fs/xfs/xfs_types.h
> +++ b/fs/xfs/xfs_types.h
> @@ -183,4 +183,14 @@ struct xfs_name {
>   */
>  typedef __uint32_t	xfs_dqid_t;
>  
> +/*
> + * Constants for bit manipulations.
> + */
> +#define	XFS_NBBYLOG	3		/* log2(NBBY) */
> +#define	XFS_WORDLOG	2		/* log2(sizeof(xfs_rtword_t)) */
> +#define	XFS_NBWORDLOG	(XFS_NBBYLOG + XFS_WORDLOG)
> +#define	XFS_NBWORD	(1 << XFS_NBWORDLOG)
> +#define	XFS_WORDMASK	((1 << XFS_WORDLOG) - 1)
> +
> +
>  #endif	/* __XFS_TYPES_H__ */
> 

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs




[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux