Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Functions
xfs_ag.h File Reference

Go to the source code of this file.

Data Structures

struct  xfs_agf
 
struct  xfs_agi
 
struct  xfs_agfl
 
struct  xfs_perag
 

Macros

#define XFS_AGF_MAGIC   0x58414746 /* 'XAGF' */
 
#define XFS_AGI_MAGIC   0x58414749 /* 'XAGI' */
 
#define XFS_AGF_VERSION   1
 
#define XFS_AGI_VERSION   1
 
#define XFS_AGF_GOOD_VERSION(v)   ((v) == XFS_AGF_VERSION)
 
#define XFS_AGI_GOOD_VERSION(v)   ((v) == XFS_AGI_VERSION)
 
#define XFS_BTNUM_AGF   ((int)XFS_BTNUM_CNTi + 1)
 
#define XFS_AGF_MAGICNUM   0x00000001
 
#define XFS_AGF_VERSIONNUM   0x00000002
 
#define XFS_AGF_SEQNO   0x00000004
 
#define XFS_AGF_LENGTH   0x00000008
 
#define XFS_AGF_ROOTS   0x00000010
 
#define XFS_AGF_LEVELS   0x00000020
 
#define XFS_AGF_FLFIRST   0x00000040
 
#define XFS_AGF_FLLAST   0x00000080
 
#define XFS_AGF_FLCOUNT   0x00000100
 
#define XFS_AGF_FREEBLKS   0x00000200
 
#define XFS_AGF_LONGEST   0x00000400
 
#define XFS_AGF_BTREEBLKS   0x00000800
 
#define XFS_AGF_NUM_BITS   12
 
#define XFS_AGF_ALL_BITS   ((1 << XFS_AGF_NUM_BITS) - 1)
 
#define XFS_AGF_FLAGS
 
#define XFS_AGF_DADDR(mp)   ((xfs_daddr_t)(1 << (mp)->m_sectbb_log))
 
#define XFS_AGF_BLOCK(mp)   XFS_HDR_BLOCK(mp, XFS_AGF_DADDR(mp))
 
#define XFS_BUF_TO_AGF(bp)   ((xfs_agf_t *)((bp)->b_addr))
 
#define XFS_AGI_UNLINKED_BUCKETS   64
 
#define XFS_AGI_MAGICNUM   0x00000001
 
#define XFS_AGI_VERSIONNUM   0x00000002
 
#define XFS_AGI_SEQNO   0x00000004
 
#define XFS_AGI_LENGTH   0x00000008
 
#define XFS_AGI_COUNT   0x00000010
 
#define XFS_AGI_ROOT   0x00000020
 
#define XFS_AGI_LEVEL   0x00000040
 
#define XFS_AGI_FREECOUNT   0x00000080
 
#define XFS_AGI_NEWINO   0x00000100
 
#define XFS_AGI_DIRINO   0x00000200
 
#define XFS_AGI_UNLINKED   0x00000400
 
#define XFS_AGI_NUM_BITS   11
 
#define XFS_AGI_ALL_BITS   ((1 << XFS_AGI_NUM_BITS) - 1)
 
#define XFS_AGI_DADDR(mp)   ((xfs_daddr_t)(2 << (mp)->m_sectbb_log))
 
#define XFS_AGI_BLOCK(mp)   XFS_HDR_BLOCK(mp, XFS_AGI_DADDR(mp))
 
#define XFS_BUF_TO_AGI(bp)   ((xfs_agi_t *)((bp)->b_addr))
 
#define XFS_AGFL_DADDR(mp)   ((xfs_daddr_t)(3 << (mp)->m_sectbb_log))
 
#define XFS_AGFL_BLOCK(mp)   XFS_HDR_BLOCK(mp, XFS_AGFL_DADDR(mp))
 
#define XFS_AGFL_SIZE(mp)   ((mp)->m_sb.sb_sectsize / sizeof(xfs_agblock_t))
 
#define XFS_BUF_TO_AGFL(bp)   ((xfs_agfl_t *)((bp)->b_addr))
 
#define XFS_PAGB_NUM_SLOTS   128
 
#define XFS_ICI_NO_TAG
 
#define XFS_ICI_RECLAIM_TAG   0 /* inode is to be reclaimed */
 
#define XFS_AG_MAXLEVELS(mp)   ((mp)->m_ag_maxlevels)
 
#define XFS_MIN_FREELIST_RAW(bl, cl, mp)   (MIN(bl + 1, XFS_AG_MAXLEVELS(mp)) + MIN(cl + 1, XFS_AG_MAXLEVELS(mp)))
 
#define XFS_MIN_FREELIST(a, mp)
 
#define XFS_MIN_FREELIST_PAG(pag, mp)
 
#define XFS_AGB_TO_FSB(mp, agno, agbno)   (((xfs_fsblock_t)(agno) << (mp)->m_sb.sb_agblklog) | (agbno))
 
#define XFS_FSB_TO_AGNO(mp, fsbno)   ((xfs_agnumber_t)((fsbno) >> (mp)->m_sb.sb_agblklog))
 
#define XFS_FSB_TO_AGBNO(mp, fsbno)   ((xfs_agblock_t)((fsbno) & xfs_mask32lo((mp)->m_sb.sb_agblklog)))
 
#define XFS_AGB_TO_DADDR(mp, agno, agbno)
 
#define XFS_AG_DADDR(mp, agno, d)   (XFS_AGB_TO_DADDR(mp, agno, 0) + (d))
 
#define XFS_AG_CHECK_DADDR(mp, d, len)
 

Typedefs

typedef struct xfs_agf xfs_agf_t
 
typedef struct xfs_agi xfs_agi_t
 
typedef struct xfs_agfl xfs_agfl_t
 
typedef struct xfs_perag xfs_perag_t
 

Functions

int xfs_read_agf (struct xfs_mount *mp, struct xfs_trans *tp, xfs_agnumber_t agno, int flags, struct xfs_buf **bpp)
 
int xfs_read_agi (struct xfs_mount *mp, struct xfs_trans *tp, xfs_agnumber_t agno, struct xfs_buf **bpp)
 

Macro Definition Documentation

#define XFS_AG_CHECK_DADDR (   mp,
  d,
  len 
)
Value:
((len) == 1 ? \
ASSERT((d) == XFS_SB_DADDR || \
xfs_daddr_to_agbno(mp, d) != XFS_SB_DADDR) : \
xfs_daddr_to_agno(mp, (d) + (len) - 1)))

Definition at line 263 of file xfs_ag.h.

#define XFS_AG_DADDR (   mp,
  agno,
  d 
)    (XFS_AGB_TO_DADDR(mp, agno, 0) + (d))

Definition at line 257 of file xfs_ag.h.

#define XFS_AG_MAXLEVELS (   mp)    ((mp)->m_ag_maxlevels)

Definition at line 236 of file xfs_ag.h.

#define XFS_AGB_TO_DADDR (   mp,
  agno,
  agbno 
)
Value:
((xfs_daddr_t)XFS_FSB_TO_BB(mp, \
(xfs_fsblock_t)(agno) * (mp)->m_sb.sb_agblocks + (agbno)))

Definition at line 254 of file xfs_ag.h.

#define XFS_AGB_TO_FSB (   mp,
  agno,
  agbno 
)    (((xfs_fsblock_t)(agno) << (mp)->m_sb.sb_agblklog) | (agbno))

Definition at line 248 of file xfs_ag.h.

#define XFS_AGF_ALL_BITS   ((1 << XFS_AGF_NUM_BITS) - 1)

Definition at line 87 of file xfs_ag.h.

#define XFS_AGF_BLOCK (   mp)    XFS_HDR_BLOCK(mp, XFS_AGF_DADDR(mp))

Definition at line 105 of file xfs_ag.h.

#define XFS_AGF_BTREEBLKS   0x00000800

Definition at line 85 of file xfs_ag.h.

#define XFS_AGF_DADDR (   mp)    ((xfs_daddr_t)(1 << (mp)->m_sectbb_log))

Definition at line 104 of file xfs_ag.h.

#define XFS_AGF_FLAGS
Value:
{ XFS_AGF_MAGICNUM, "MAGICNUM" }, \
{ XFS_AGF_VERSIONNUM, "VERSIONNUM" }, \
{ XFS_AGF_SEQNO, "SEQNO" }, \
{ XFS_AGF_LENGTH, "LENGTH" }, \
{ XFS_AGF_ROOTS, "ROOTS" }, \
{ XFS_AGF_LEVELS, "LEVELS" }, \
{ XFS_AGF_FLFIRST, "FLFIRST" }, \
{ XFS_AGF_FLLAST, "FLLAST" }, \
{ XFS_AGF_FLCOUNT, "FLCOUNT" }, \
{ XFS_AGF_FREEBLKS, "FREEBLKS" }, \
{ XFS_AGF_LONGEST, "LONGEST" }, \
{ XFS_AGF_BTREEBLKS, "BTREEBLKS" }

Definition at line 89 of file xfs_ag.h.

#define XFS_AGF_FLCOUNT   0x00000100

Definition at line 82 of file xfs_ag.h.

#define XFS_AGF_FLFIRST   0x00000040

Definition at line 80 of file xfs_ag.h.

#define XFS_AGF_FLLAST   0x00000080

Definition at line 81 of file xfs_ag.h.

#define XFS_AGF_FREEBLKS   0x00000200

Definition at line 83 of file xfs_ag.h.

#define XFS_AGF_GOOD_VERSION (   v)    ((v) == XFS_AGF_VERSION)

Definition at line 36 of file xfs_ag.h.

#define XFS_AGF_LENGTH   0x00000008

Definition at line 77 of file xfs_ag.h.

#define XFS_AGF_LEVELS   0x00000020

Definition at line 79 of file xfs_ag.h.

#define XFS_AGF_LONGEST   0x00000400

Definition at line 84 of file xfs_ag.h.

#define XFS_AGF_MAGIC   0x58414746 /* 'XAGF' */

Definition at line 31 of file xfs_ag.h.

#define XFS_AGF_MAGICNUM   0x00000001

Definition at line 74 of file xfs_ag.h.

#define XFS_AGF_NUM_BITS   12

Definition at line 86 of file xfs_ag.h.

#define XFS_AGF_ROOTS   0x00000010

Definition at line 78 of file xfs_ag.h.

#define XFS_AGF_SEQNO   0x00000004

Definition at line 76 of file xfs_ag.h.

#define XFS_AGF_VERSION   1

Definition at line 33 of file xfs_ag.h.

#define XFS_AGF_VERSIONNUM   0x00000002

Definition at line 75 of file xfs_ag.h.

#define XFS_AGFL_BLOCK (   mp)    XFS_HDR_BLOCK(mp, XFS_AGFL_DADDR(mp))

Definition at line 169 of file xfs_ag.h.

#define XFS_AGFL_DADDR (   mp)    ((xfs_daddr_t)(3 << (mp)->m_sectbb_log))

Definition at line 168 of file xfs_ag.h.

#define XFS_AGFL_SIZE (   mp)    ((mp)->m_sb.sb_sectsize / sizeof(xfs_agblock_t))

Definition at line 170 of file xfs_ag.h.

#define XFS_AGI_ALL_BITS   ((1 << XFS_AGI_NUM_BITS) - 1)

Definition at line 154 of file xfs_ag.h.

#define XFS_AGI_BLOCK (   mp)    XFS_HDR_BLOCK(mp, XFS_AGI_DADDR(mp))

Definition at line 158 of file xfs_ag.h.

#define XFS_AGI_COUNT   0x00000010

Definition at line 146 of file xfs_ag.h.

#define XFS_AGI_DADDR (   mp)    ((xfs_daddr_t)(2 << (mp)->m_sectbb_log))

Definition at line 157 of file xfs_ag.h.

#define XFS_AGI_DIRINO   0x00000200

Definition at line 151 of file xfs_ag.h.

#define XFS_AGI_FREECOUNT   0x00000080

Definition at line 149 of file xfs_ag.h.

#define XFS_AGI_GOOD_VERSION (   v)    ((v) == XFS_AGI_VERSION)

Definition at line 37 of file xfs_ag.h.

#define XFS_AGI_LENGTH   0x00000008

Definition at line 145 of file xfs_ag.h.

#define XFS_AGI_LEVEL   0x00000040

Definition at line 148 of file xfs_ag.h.

#define XFS_AGI_MAGIC   0x58414749 /* 'XAGI' */

Definition at line 32 of file xfs_ag.h.

#define XFS_AGI_MAGICNUM   0x00000001

Definition at line 142 of file xfs_ag.h.

#define XFS_AGI_NEWINO   0x00000100

Definition at line 150 of file xfs_ag.h.

#define XFS_AGI_NUM_BITS   11

Definition at line 153 of file xfs_ag.h.

#define XFS_AGI_ROOT   0x00000020

Definition at line 147 of file xfs_ag.h.

#define XFS_AGI_SEQNO   0x00000004

Definition at line 144 of file xfs_ag.h.

#define XFS_AGI_UNLINKED   0x00000400

Definition at line 152 of file xfs_ag.h.

#define XFS_AGI_UNLINKED_BUCKETS   64

Definition at line 114 of file xfs_ag.h.

#define XFS_AGI_VERSION   1

Definition at line 34 of file xfs_ag.h.

#define XFS_AGI_VERSIONNUM   0x00000002

Definition at line 143 of file xfs_ag.h.

#define XFS_BTNUM_AGF   ((int)XFS_BTNUM_CNTi + 1)

Definition at line 43 of file xfs_ag.h.

#define XFS_BUF_TO_AGF (   bp)    ((xfs_agf_t *)((bp)->b_addr))

Definition at line 106 of file xfs_ag.h.

#define XFS_BUF_TO_AGFL (   bp)    ((xfs_agfl_t *)((bp)->b_addr))

Definition at line 171 of file xfs_ag.h.

#define XFS_BUF_TO_AGI (   bp)    ((xfs_agi_t *)((bp)->b_addr))

Definition at line 159 of file xfs_ag.h.

#define XFS_FSB_TO_AGBNO (   mp,
  fsbno 
)    ((xfs_agblock_t)((fsbno) & xfs_mask32lo((mp)->m_sb.sb_agblklog)))

Definition at line 252 of file xfs_ag.h.

#define XFS_FSB_TO_AGNO (   mp,
  fsbno 
)    ((xfs_agnumber_t)((fsbno) >> (mp)->m_sb.sb_agblklog))

Definition at line 250 of file xfs_ag.h.

#define XFS_ICI_NO_TAG
Value:
(-1) /* special flag for an untagged lookup
in xfs_inode_ag_iterator */

Definition at line 233 of file xfs_ag.h.

#define XFS_ICI_RECLAIM_TAG   0 /* inode is to be reclaimed */

Definition at line 234 of file xfs_ag.h.

#define XFS_MIN_FREELIST (   a,
  mp 
)
Value:
be32_to_cpu((a)->agf_levels[XFS_BTNUM_BNOi]), \
be32_to_cpu((a)->agf_levels[XFS_BTNUM_CNTi]), mp))

Definition at line 239 of file xfs_ag.h.

#define XFS_MIN_FREELIST_PAG (   pag,
  mp 
)
Value:
(unsigned int)(pag)->pagf_levels[XFS_BTNUM_BNOi], \
(unsigned int)(pag)->pagf_levels[XFS_BTNUM_CNTi], mp))

Definition at line 243 of file xfs_ag.h.

#define XFS_MIN_FREELIST_RAW (   bl,
  cl,
  mp 
)    (MIN(bl + 1, XFS_AG_MAXLEVELS(mp)) + MIN(cl + 1, XFS_AG_MAXLEVELS(mp)))

Definition at line 237 of file xfs_ag.h.

#define XFS_PAGB_NUM_SLOTS   128

Definition at line 181 of file xfs_ag.h.

Typedef Documentation

Function Documentation

int xfs_read_agf ( struct xfs_mount *  mp,
struct xfs_trans *  tp,
xfs_agnumber_t  agno,
int  flags,
struct xfs_buf **  bpp 
)

Definition at line 2098 of file xfs_alloc.c.

int xfs_read_agi ( struct xfs_mount *  mp,
struct xfs_trans *  tp,
xfs_agnumber_t  agno,
struct xfs_buf **  bpp 
)

Definition at line 1479 of file xfs_ialloc.c.