forked from Minki/linux
xfs: introduce xfs_rtalloc_defs.h
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. 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
2a3c0acc35
commit
c7298202e5
@ -27,6 +27,47 @@
|
||||
* xfs_log_format.h. Everything else goes here.
|
||||
*/
|
||||
|
||||
/*
|
||||
* 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
|
||||
*/
|
||||
|
@ -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"
|
||||
|
@ -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__ */
|
||||
|
@ -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__ */
|
||||
|
Loading…
Reference in New Issue
Block a user