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

Go to the source code of this file.

Data Structures

struct  xfs_sb
 
struct  xfs_dsb
 

Macros

#define XFS_SB_MAGIC   0x58465342 /* 'XFSB' */
 
#define XFS_SB_VERSION_1   1 /* 5.3, 6.0.1, 6.1 */
 
#define XFS_SB_VERSION_2   2 /* 6.2 - attributes */
 
#define XFS_SB_VERSION_3   3 /* 6.2 - new inode version */
 
#define XFS_SB_VERSION_4   4 /* 6.2+ - bitmask version */
 
#define XFS_SB_VERSION_NUMBITS   0x000f
 
#define XFS_SB_VERSION_ALLFBITS   0xfff0
 
#define XFS_SB_VERSION_SASHFBITS   0xf000
 
#define XFS_SB_VERSION_REALFBITS   0x0ff0
 
#define XFS_SB_VERSION_ATTRBIT   0x0010
 
#define XFS_SB_VERSION_NLINKBIT   0x0020
 
#define XFS_SB_VERSION_QUOTABIT   0x0040
 
#define XFS_SB_VERSION_ALIGNBIT   0x0080
 
#define XFS_SB_VERSION_DALIGNBIT   0x0100
 
#define XFS_SB_VERSION_SHAREDBIT   0x0200
 
#define XFS_SB_VERSION_LOGV2BIT   0x0400
 
#define XFS_SB_VERSION_SECTORBIT   0x0800
 
#define XFS_SB_VERSION_EXTFLGBIT   0x1000
 
#define XFS_SB_VERSION_DIRV2BIT   0x2000
 
#define XFS_SB_VERSION_BORGBIT   0x4000 /* ASCII only case-insens. */
 
#define XFS_SB_VERSION_MOREBITSBIT   0x8000
 
#define XFS_SB_VERSION_OKSASHFBITS
 
#define XFS_SB_VERSION_OKREALFBITS
 
#define XFS_SB_VERSION_OKREALBITS
 
#define XFS_SB_VERSION2_REALFBITS   0x00ffffff /* Mask: features */
 
#define XFS_SB_VERSION2_RESERVED1BIT   0x00000001
 
#define XFS_SB_VERSION2_LAZYSBCOUNTBIT   0x00000002 /* Superblk counters */
 
#define XFS_SB_VERSION2_RESERVED4BIT   0x00000004
 
#define XFS_SB_VERSION2_ATTR2BIT   0x00000008 /* Inline attr rework */
 
#define XFS_SB_VERSION2_PARENTBIT   0x00000010 /* parent pointers */
 
#define XFS_SB_VERSION2_PROJID32BIT   0x00000080 /* 32 bit project id */
 
#define XFS_SB_VERSION2_OKREALFBITS
 
#define XFS_SB_VERSION2_OKSASHFBITS   (0)
 
#define XFS_SB_VERSION2_OKREALBITS
 
#define XFS_SB_MVAL(x)   (1LL << XFS_SBS_ ## x)
 
#define XFS_SB_UUID   XFS_SB_MVAL(UUID)
 
#define XFS_SB_FNAME   XFS_SB_MVAL(FNAME)
 
#define XFS_SB_ROOTINO   XFS_SB_MVAL(ROOTINO)
 
#define XFS_SB_RBMINO   XFS_SB_MVAL(RBMINO)
 
#define XFS_SB_RSUMINO   XFS_SB_MVAL(RSUMINO)
 
#define XFS_SB_VERSIONNUM   XFS_SB_MVAL(VERSIONNUM)
 
#define XFS_SB_UQUOTINO   XFS_SB_MVAL(UQUOTINO)
 
#define XFS_SB_GQUOTINO   XFS_SB_MVAL(GQUOTINO)
 
#define XFS_SB_QFLAGS   XFS_SB_MVAL(QFLAGS)
 
#define XFS_SB_SHARED_VN   XFS_SB_MVAL(SHARED_VN)
 
#define XFS_SB_UNIT   XFS_SB_MVAL(UNIT)
 
#define XFS_SB_WIDTH   XFS_SB_MVAL(WIDTH)
 
#define XFS_SB_ICOUNT   XFS_SB_MVAL(ICOUNT)
 
#define XFS_SB_IFREE   XFS_SB_MVAL(IFREE)
 
#define XFS_SB_FDBLOCKS   XFS_SB_MVAL(FDBLOCKS)
 
#define XFS_SB_FEATURES2   XFS_SB_MVAL(FEATURES2)
 
#define XFS_SB_BAD_FEATURES2   XFS_SB_MVAL(BAD_FEATURES2)
 
#define XFS_SB_NUM_BITS   ((int)XFS_SBS_FIELDCOUNT)
 
#define XFS_SB_ALL_BITS   ((1LL << XFS_SB_NUM_BITS) - 1)
 
#define XFS_SB_MOD_BITS
 
#define XFS_SBF_NOFLAGS   0x00 /* no flags set */
 
#define XFS_SBF_READONLY   0x01 /* only read-only mounts allowed */
 
#define XFS_SB_MAX_SHARED_VN   0
 
#define XFS_SB_VERSION_NUM(sbp)   ((sbp)->sb_versionnum & XFS_SB_VERSION_NUMBITS)
 
#define XFS_SB_DADDR   ((xfs_daddr_t)0) /* daddr in filesystem/ag */
 
#define XFS_SB_BLOCK(mp)   XFS_HDR_BLOCK(mp, XFS_SB_DADDR)
 
#define XFS_BUF_TO_SBP(bp)   ((xfs_dsb_t *)((bp)->b_addr))
 
#define XFS_HDR_BLOCK(mp, d)   ((xfs_agblock_t)XFS_BB_TO_FSBT(mp,d))
 
#define XFS_DADDR_TO_FSB(mp, d)
 
#define XFS_FSB_TO_DADDR(mp, fsbno)
 
#define XFS_FSS_TO_BB(mp, sec)   ((sec) << (mp)->m_sectbb_log)
 
#define XFS_FSB_TO_BB(mp, fsbno)   ((fsbno) << (mp)->m_blkbb_log)
 
#define XFS_BB_TO_FSB(mp, bb)   (((bb) + (XFS_FSB_TO_BB(mp,1) - 1)) >> (mp)->m_blkbb_log)
 
#define XFS_BB_TO_FSBT(mp, bb)   ((bb) >> (mp)->m_blkbb_log)
 
#define XFS_FSB_TO_B(mp, fsbno)   ((xfs_fsize_t)(fsbno) << (mp)->m_sb.sb_blocklog)
 
#define XFS_B_TO_FSB(mp, b)   ((((__uint64_t)(b)) + (mp)->m_blockmask) >> (mp)->m_sb.sb_blocklog)
 
#define XFS_B_TO_FSBT(mp, b)   (((__uint64_t)(b)) >> (mp)->m_sb.sb_blocklog)
 
#define XFS_B_FSB_OFFSET(mp, b)   ((b) & (mp)->m_blockmask)
 

Typedefs

typedef struct xfs_sb xfs_sb_t
 
typedef struct xfs_dsb xfs_dsb_t
 

Enumerations

enum  xfs_sb_field_t {
  XFS_SBS_MAGICNUM, XFS_SBS_BLOCKSIZE, XFS_SBS_DBLOCKS, XFS_SBS_RBLOCKS,
  XFS_SBS_REXTENTS, XFS_SBS_UUID, XFS_SBS_LOGSTART, XFS_SBS_ROOTINO,
  XFS_SBS_RBMINO, XFS_SBS_RSUMINO, XFS_SBS_REXTSIZE, XFS_SBS_AGBLOCKS,
  XFS_SBS_AGCOUNT, XFS_SBS_RBMBLOCKS, XFS_SBS_LOGBLOCKS, XFS_SBS_VERSIONNUM,
  XFS_SBS_SECTSIZE, XFS_SBS_INODESIZE, XFS_SBS_INOPBLOCK, XFS_SBS_FNAME,
  XFS_SBS_BLOCKLOG, XFS_SBS_SECTLOG, XFS_SBS_INODELOG, XFS_SBS_INOPBLOG,
  XFS_SBS_AGBLKLOG, XFS_SBS_REXTSLOG, XFS_SBS_INPROGRESS, XFS_SBS_IMAX_PCT,
  XFS_SBS_ICOUNT, XFS_SBS_IFREE, XFS_SBS_FDBLOCKS, XFS_SBS_FREXTENTS,
  XFS_SBS_UQUOTINO, XFS_SBS_GQUOTINO, XFS_SBS_QFLAGS, XFS_SBS_FLAGS,
  XFS_SBS_SHARED_VN, XFS_SBS_INOALIGNMT, XFS_SBS_UNIT, XFS_SBS_WIDTH,
  XFS_SBS_DIRBLKLOG, XFS_SBS_LOGSECTLOG, XFS_SBS_LOGSECTSIZE, XFS_SBS_LOGSUNIT,
  XFS_SBS_FEATURES2, XFS_SBS_BAD_FEATURES2, XFS_SBS_FIELDCOUNT
}
 

Macro Definition Documentation

#define XFS_B_FSB_OFFSET (   mp,
  b 
)    ((b) & (mp)->m_blockmask)

Definition at line 540 of file xfs_sb.h.

#define XFS_B_TO_FSB (   mp,
  b 
)    ((((__uint64_t)(b)) + (mp)->m_blockmask) >> (mp)->m_sb.sb_blocklog)

Definition at line 537 of file xfs_sb.h.

#define XFS_B_TO_FSBT (   mp,
  b 
)    (((__uint64_t)(b)) >> (mp)->m_sb.sb_blocklog)

Definition at line 539 of file xfs_sb.h.

#define XFS_BB_TO_FSB (   mp,
  bb 
)    (((bb) + (XFS_FSB_TO_BB(mp,1) - 1)) >> (mp)->m_blkbb_log)

Definition at line 529 of file xfs_sb.h.

#define XFS_BB_TO_FSBT (   mp,
  bb 
)    ((bb) >> (mp)->m_blkbb_log)

Definition at line 531 of file xfs_sb.h.

#define XFS_BUF_TO_SBP (   bp)    ((xfs_dsb_t *)((bp)->b_addr))

Definition at line 512 of file xfs_sb.h.

#define XFS_DADDR_TO_FSB (   mp,
  d 
)
Value:

Definition at line 515 of file xfs_sb.h.

#define XFS_FSB_TO_B (   mp,
  fsbno 
)    ((xfs_fsize_t)(fsbno) << (mp)->m_sb.sb_blocklog)

Definition at line 536 of file xfs_sb.h.

#define XFS_FSB_TO_BB (   mp,
  fsbno 
)    ((fsbno) << (mp)->m_blkbb_log)

Definition at line 528 of file xfs_sb.h.

#define XFS_FSB_TO_DADDR (   mp,
  fsbno 
)
Value:

Definition at line 517 of file xfs_sb.h.

#define XFS_FSS_TO_BB (   mp,
  sec 
)    ((sec) << (mp)->m_sectbb_log)

Definition at line 523 of file xfs_sb.h.

#define XFS_HDR_BLOCK (   mp,
  d 
)    ((xfs_agblock_t)XFS_BB_TO_FSBT(mp,d))

Definition at line 514 of file xfs_sb.h.

#define XFS_SB_ALL_BITS   ((1LL << XFS_SB_NUM_BITS) - 1)

Definition at line 279 of file xfs_sb.h.

#define XFS_SB_BAD_FEATURES2   XFS_SB_MVAL(BAD_FEATURES2)

Definition at line 277 of file xfs_sb.h.

#define XFS_SB_BLOCK (   mp)    XFS_HDR_BLOCK(mp, XFS_SB_DADDR)

Definition at line 511 of file xfs_sb.h.

#define XFS_SB_DADDR   ((xfs_daddr_t)0) /* daddr in filesystem/ag */

Definition at line 510 of file xfs_sb.h.

#define XFS_SB_FDBLOCKS   XFS_SB_MVAL(FDBLOCKS)

Definition at line 275 of file xfs_sb.h.

#define XFS_SB_FEATURES2   XFS_SB_MVAL(FEATURES2)

Definition at line 276 of file xfs_sb.h.

#define XFS_SB_FNAME   XFS_SB_MVAL(FNAME)

Definition at line 262 of file xfs_sb.h.

#define XFS_SB_GQUOTINO   XFS_SB_MVAL(GQUOTINO)

Definition at line 268 of file xfs_sb.h.

#define XFS_SB_ICOUNT   XFS_SB_MVAL(ICOUNT)

Definition at line 273 of file xfs_sb.h.

#define XFS_SB_IFREE   XFS_SB_MVAL(IFREE)

Definition at line 274 of file xfs_sb.h.

#define XFS_SB_MAGIC   0x58465342 /* 'XFSB' */

Definition at line 30 of file xfs_sb.h.

#define XFS_SB_MAX_SHARED_VN   0

Definition at line 298 of file xfs_sb.h.

#define XFS_SB_MOD_BITS
Value:
XFS_SB_VERSIONNUM | XFS_SB_UQUOTINO | XFS_SB_GQUOTINO | \
XFS_SB_QFLAGS | XFS_SB_SHARED_VN | XFS_SB_UNIT | XFS_SB_WIDTH | \
XFS_SB_BAD_FEATURES2)

Definition at line 280 of file xfs_sb.h.

#define XFS_SB_MVAL (   x)    (1LL << XFS_SBS_ ## x)

Definition at line 260 of file xfs_sb.h.

#define XFS_SB_NUM_BITS   ((int)XFS_SBS_FIELDCOUNT)

Definition at line 278 of file xfs_sb.h.

#define XFS_SB_QFLAGS   XFS_SB_MVAL(QFLAGS)

Definition at line 269 of file xfs_sb.h.

#define XFS_SB_RBMINO   XFS_SB_MVAL(RBMINO)

Definition at line 264 of file xfs_sb.h.

#define XFS_SB_ROOTINO   XFS_SB_MVAL(ROOTINO)

Definition at line 263 of file xfs_sb.h.

#define XFS_SB_RSUMINO   XFS_SB_MVAL(RSUMINO)

Definition at line 265 of file xfs_sb.h.

#define XFS_SB_SHARED_VN   XFS_SB_MVAL(SHARED_VN)

Definition at line 270 of file xfs_sb.h.

#define XFS_SB_UNIT   XFS_SB_MVAL(UNIT)

Definition at line 271 of file xfs_sb.h.

#define XFS_SB_UQUOTINO   XFS_SB_MVAL(UQUOTINO)

Definition at line 267 of file xfs_sb.h.

#define XFS_SB_UUID   XFS_SB_MVAL(UUID)

Definition at line 261 of file xfs_sb.h.

#define XFS_SB_VERSION2_ATTR2BIT   0x00000008 /* Inline attr rework */

Definition at line 81 of file xfs_sb.h.

#define XFS_SB_VERSION2_LAZYSBCOUNTBIT   0x00000002 /* Superblk counters */

Definition at line 79 of file xfs_sb.h.

#define XFS_SB_VERSION2_OKREALBITS
Value:
XFS_SB_VERSION2_OKSASHFBITS )

Definition at line 91 of file xfs_sb.h.

#define XFS_SB_VERSION2_OKREALFBITS
Value:
XFS_SB_VERSION2_ATTR2BIT | \
XFS_SB_VERSION2_PROJID32BIT)

Definition at line 85 of file xfs_sb.h.

#define XFS_SB_VERSION2_OKSASHFBITS   (0)

Definition at line 89 of file xfs_sb.h.

#define XFS_SB_VERSION2_PARENTBIT   0x00000010 /* parent pointers */

Definition at line 82 of file xfs_sb.h.

#define XFS_SB_VERSION2_PROJID32BIT   0x00000080 /* 32 bit project id */

Definition at line 83 of file xfs_sb.h.

#define XFS_SB_VERSION2_REALFBITS   0x00ffffff /* Mask: features */

Definition at line 77 of file xfs_sb.h.

#define XFS_SB_VERSION2_RESERVED1BIT   0x00000001

Definition at line 78 of file xfs_sb.h.

#define XFS_SB_VERSION2_RESERVED4BIT   0x00000004

Definition at line 80 of file xfs_sb.h.

#define XFS_SB_VERSION_1   1 /* 5.3, 6.0.1, 6.1 */

Definition at line 31 of file xfs_sb.h.

#define XFS_SB_VERSION_2   2 /* 6.2 - attributes */

Definition at line 32 of file xfs_sb.h.

#define XFS_SB_VERSION_3   3 /* 6.2 - new inode version */

Definition at line 33 of file xfs_sb.h.

#define XFS_SB_VERSION_4   4 /* 6.2+ - bitmask version */

Definition at line 34 of file xfs_sb.h.

#define XFS_SB_VERSION_ALIGNBIT   0x0080

Definition at line 42 of file xfs_sb.h.

#define XFS_SB_VERSION_ALLFBITS   0xfff0

Definition at line 36 of file xfs_sb.h.

#define XFS_SB_VERSION_ATTRBIT   0x0010

Definition at line 39 of file xfs_sb.h.

#define XFS_SB_VERSION_BORGBIT   0x4000 /* ASCII only case-insens. */

Definition at line 49 of file xfs_sb.h.

#define XFS_SB_VERSION_DALIGNBIT   0x0100

Definition at line 43 of file xfs_sb.h.

#define XFS_SB_VERSION_DIRV2BIT   0x2000

Definition at line 48 of file xfs_sb.h.

#define XFS_SB_VERSION_EXTFLGBIT   0x1000

Definition at line 47 of file xfs_sb.h.

#define XFS_SB_VERSION_LOGV2BIT   0x0400

Definition at line 45 of file xfs_sb.h.

#define XFS_SB_VERSION_MOREBITSBIT   0x8000

Definition at line 50 of file xfs_sb.h.

#define XFS_SB_VERSION_NLINKBIT   0x0020

Definition at line 40 of file xfs_sb.h.

#define XFS_SB_VERSION_NUM (   sbp)    ((sbp)->sb_versionnum & XFS_SB_VERSION_NUMBITS)

Definition at line 300 of file xfs_sb.h.

#define XFS_SB_VERSION_NUMBITS   0x000f

Definition at line 35 of file xfs_sb.h.

#define XFS_SB_VERSION_OKREALBITS
Value:
XFS_SB_VERSION_OKREALFBITS | \
XFS_SB_VERSION_OKSASHFBITS)

Definition at line 65 of file xfs_sb.h.

#define XFS_SB_VERSION_OKREALFBITS
Value:
XFS_SB_VERSION_NLINKBIT | \
XFS_SB_VERSION_QUOTABIT | \
XFS_SB_VERSION_ALIGNBIT | \
XFS_SB_VERSION_DALIGNBIT | \
XFS_SB_VERSION_SHAREDBIT | \
XFS_SB_VERSION_LOGV2BIT | \
XFS_SB_VERSION_SECTORBIT | \
XFS_SB_VERSION_MOREBITSBIT)

Definition at line 55 of file xfs_sb.h.

#define XFS_SB_VERSION_OKSASHFBITS
Value:
XFS_SB_VERSION_DIRV2BIT | \
XFS_SB_VERSION_BORGBIT)

Definition at line 51 of file xfs_sb.h.

#define XFS_SB_VERSION_QUOTABIT   0x0040

Definition at line 41 of file xfs_sb.h.

#define XFS_SB_VERSION_REALFBITS   0x0ff0

Definition at line 38 of file xfs_sb.h.

#define XFS_SB_VERSION_SASHFBITS   0xf000

Definition at line 37 of file xfs_sb.h.

#define XFS_SB_VERSION_SECTORBIT   0x0800

Definition at line 46 of file xfs_sb.h.

#define XFS_SB_VERSION_SHAREDBIT   0x0200

Definition at line 44 of file xfs_sb.h.

#define XFS_SB_VERSIONNUM   XFS_SB_MVAL(VERSIONNUM)

Definition at line 266 of file xfs_sb.h.

#define XFS_SB_WIDTH   XFS_SB_MVAL(WIDTH)

Definition at line 272 of file xfs_sb.h.

#define XFS_SBF_NOFLAGS   0x00 /* no flags set */

Definition at line 292 of file xfs_sb.h.

#define XFS_SBF_READONLY   0x01 /* only read-only mounts allowed */

Definition at line 293 of file xfs_sb.h.

Typedef Documentation

Enumeration Type Documentation

Enumerator:
XFS_SBS_MAGICNUM 
XFS_SBS_BLOCKSIZE 
XFS_SBS_DBLOCKS 
XFS_SBS_RBLOCKS 
XFS_SBS_REXTENTS 
XFS_SBS_UUID 
XFS_SBS_LOGSTART 
XFS_SBS_ROOTINO 
XFS_SBS_RBMINO 
XFS_SBS_RSUMINO 
XFS_SBS_REXTSIZE 
XFS_SBS_AGBLOCKS 
XFS_SBS_AGCOUNT 
XFS_SBS_RBMBLOCKS 
XFS_SBS_LOGBLOCKS 
XFS_SBS_VERSIONNUM 
XFS_SBS_SECTSIZE 
XFS_SBS_INODESIZE 
XFS_SBS_INOPBLOCK 
XFS_SBS_FNAME 
XFS_SBS_BLOCKLOG 
XFS_SBS_SECTLOG 
XFS_SBS_INODELOG 
XFS_SBS_INOPBLOG 
XFS_SBS_AGBLKLOG 
XFS_SBS_REXTSLOG 
XFS_SBS_INPROGRESS 
XFS_SBS_IMAX_PCT 
XFS_SBS_ICOUNT 
XFS_SBS_IFREE 
XFS_SBS_FDBLOCKS 
XFS_SBS_FREXTENTS 
XFS_SBS_UQUOTINO 
XFS_SBS_GQUOTINO 
XFS_SBS_QFLAGS 
XFS_SBS_FLAGS 
XFS_SBS_SHARED_VN 
XFS_SBS_INOALIGNMT 
XFS_SBS_UNIT 
XFS_SBS_WIDTH 
XFS_SBS_DIRBLKLOG 
XFS_SBS_LOGSECTLOG 
XFS_SBS_LOGSECTSIZE 
XFS_SBS_LOGSUNIT 
XFS_SBS_FEATURES2 
XFS_SBS_BAD_FEATURES2 
XFS_SBS_FIELDCOUNT 

Definition at line 239 of file xfs_sb.h.