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

Go to the source code of this file.

Data Structures

struct  xfs_timestamp
 
struct  xfs_dinode
 

Macros

#define XFS_DINODE_MAGIC   0x494e /* 'IN' */
 
#define XFS_DINODE_GOOD_VERSION(v)   (((v) == 1 || (v) == 2))
 
#define DI_MAX_FLUSH   0xffff
 
#define XFS_MAXLINK   ((1U << 31) - 1U)
 
#define XFS_MAXLINK_1   65535U
 
#define XFS_DINODE_MIN_LOG   8
 
#define XFS_DINODE_MAX_LOG   11
 
#define XFS_DINODE_MIN_SIZE   (1 << XFS_DINODE_MIN_LOG)
 
#define XFS_DINODE_MAX_SIZE   (1 << XFS_DINODE_MAX_LOG)
 
#define XFS_LITINO(mp)   ((int)(((mp)->m_sb.sb_inodesize) - sizeof(struct xfs_dinode)))
 
#define XFS_BROOT_SIZE_ADJ   (XFS_BTREE_LBLOCK_LEN - sizeof(xfs_bmdr_block_t))
 
#define XFS_DFORK_Q(dip)   ((dip)->di_forkoff != 0)
 
#define XFS_DFORK_BOFF(dip)   ((int)((dip)->di_forkoff << 3))
 
#define XFS_DFORK_DSIZE(dip, mp)
 
#define XFS_DFORK_ASIZE(dip, mp)
 
#define XFS_DFORK_SIZE(dip, mp, w)
 
#define XFS_DFORK_DPTR(dip)   ((char *)(dip) + sizeof(struct xfs_dinode))
 
#define XFS_DFORK_APTR(dip)   (XFS_DFORK_DPTR(dip) + XFS_DFORK_BOFF(dip))
 
#define XFS_DFORK_PTR(dip, w)   ((w) == XFS_DATA_FORK ? XFS_DFORK_DPTR(dip) : XFS_DFORK_APTR(dip))
 
#define XFS_DFORK_FORMAT(dip, w)
 
#define XFS_DFORK_NEXTENTS(dip, w)
 
#define XFS_BUF_TO_DINODE(bp)   ((xfs_dinode_t *)((bp)->b_addr))
 
#define XFS_DIFLAG_REALTIME_BIT   0 /* file's blocks come from rt area */
 
#define XFS_DIFLAG_PREALLOC_BIT   1 /* file space has been preallocated */
 
#define XFS_DIFLAG_NEWRTBM_BIT   2 /* for rtbitmap inode, new format */
 
#define XFS_DIFLAG_IMMUTABLE_BIT   3 /* inode is immutable */
 
#define XFS_DIFLAG_APPEND_BIT   4 /* inode is append-only */
 
#define XFS_DIFLAG_SYNC_BIT   5 /* inode is written synchronously */
 
#define XFS_DIFLAG_NOATIME_BIT   6 /* do not update atime */
 
#define XFS_DIFLAG_NODUMP_BIT   7 /* do not dump */
 
#define XFS_DIFLAG_RTINHERIT_BIT   8 /* create with realtime bit set */
 
#define XFS_DIFLAG_PROJINHERIT_BIT   9 /* create with parents projid */
 
#define XFS_DIFLAG_NOSYMLINKS_BIT   10 /* disallow symlink creation */
 
#define XFS_DIFLAG_EXTSIZE_BIT   11 /* inode extent size allocator hint */
 
#define XFS_DIFLAG_EXTSZINHERIT_BIT   12 /* inherit inode extent size */
 
#define XFS_DIFLAG_NODEFRAG_BIT   13 /* do not reorganize/defragment */
 
#define XFS_DIFLAG_FILESTREAM_BIT   14 /* use filestream allocator */
 
#define XFS_DIFLAG_REALTIME   (1 << XFS_DIFLAG_REALTIME_BIT)
 
#define XFS_DIFLAG_PREALLOC   (1 << XFS_DIFLAG_PREALLOC_BIT)
 
#define XFS_DIFLAG_NEWRTBM   (1 << XFS_DIFLAG_NEWRTBM_BIT)
 
#define XFS_DIFLAG_IMMUTABLE   (1 << XFS_DIFLAG_IMMUTABLE_BIT)
 
#define XFS_DIFLAG_APPEND   (1 << XFS_DIFLAG_APPEND_BIT)
 
#define XFS_DIFLAG_SYNC   (1 << XFS_DIFLAG_SYNC_BIT)
 
#define XFS_DIFLAG_NOATIME   (1 << XFS_DIFLAG_NOATIME_BIT)
 
#define XFS_DIFLAG_NODUMP   (1 << XFS_DIFLAG_NODUMP_BIT)
 
#define XFS_DIFLAG_RTINHERIT   (1 << XFS_DIFLAG_RTINHERIT_BIT)
 
#define XFS_DIFLAG_PROJINHERIT   (1 << XFS_DIFLAG_PROJINHERIT_BIT)
 
#define XFS_DIFLAG_NOSYMLINKS   (1 << XFS_DIFLAG_NOSYMLINKS_BIT)
 
#define XFS_DIFLAG_EXTSIZE   (1 << XFS_DIFLAG_EXTSIZE_BIT)
 
#define XFS_DIFLAG_EXTSZINHERIT   (1 << XFS_DIFLAG_EXTSZINHERIT_BIT)
 
#define XFS_DIFLAG_NODEFRAG   (1 << XFS_DIFLAG_NODEFRAG_BIT)
 
#define XFS_DIFLAG_FILESTREAM   (1 << XFS_DIFLAG_FILESTREAM_BIT)
 
#define XFS_IS_REALTIME_INODE(ip)   (0)
 
#define XFS_DIFLAG_ANY
 

Typedefs

typedef struct xfs_timestamp xfs_timestamp_t
 
typedef enum xfs_dinode_fmt xfs_dinode_fmt_t
 

Enumerations

enum  xfs_dinode_fmt {
  XFS_DINODE_FMT_DEV, XFS_DINODE_FMT_LOCAL, XFS_DINODE_FMT_EXTENTS, XFS_DINODE_FMT_BTREE,
  XFS_DINODE_FMT_UUID
}
 

Functions

struct xfs_dinode __attribute__ ((packed)) xfs_dinode_t
 

Variables

__be16 di_magic
 
__be16 di_mode
 
__u8 di_version
 
__u8 di_format
 
__be16 di_onlink
 
__be32 di_uid
 
__be32 di_gid
 
__be32 di_nlink
 
__be16 di_projid_lo
 
__be16 di_projid_hi
 
__u8 di_pad [6]
 
__be16 di_flushiter
 
xfs_timestamp_t di_atime
 
xfs_timestamp_t di_mtime
 
xfs_timestamp_t di_ctime
 
__be64 di_size
 
__be64 di_nblocks
 
__be32 di_extsize
 
__be32 di_nextents
 
__be16 di_anextents
 
__u8 di_forkoff
 
__s8 di_aformat
 
__be32 di_dmevmask
 
__be16 di_dmstate
 
__be16 di_flags
 
__be32 di_gen
 
__be32 di_next_unlinked
 

Macro Definition Documentation

#define DI_MAX_FLUSH   0xffff

Definition at line 75 of file xfs_dinode.h.

#define XFS_BROOT_SIZE_ADJ   (XFS_BTREE_LBLOCK_LEN - sizeof(xfs_bmdr_block_t))

Definition at line 110 of file xfs_dinode.h.

#define XFS_BUF_TO_DINODE (   bp)    ((xfs_dinode_t *)((bp)->b_addr))

Definition at line 151 of file xfs_dinode.h.

#define XFS_DFORK_APTR (   dip)    (XFS_DFORK_DPTR(dip) + XFS_DFORK_BOFF(dip))

Definition at line 137 of file xfs_dinode.h.

#define XFS_DFORK_ASIZE (   dip,
  mp 
)
Value:
(XFS_DFORK_Q(dip) ? \
XFS_LITINO(mp) - XFS_DFORK_BOFF(dip) : \
0)

Definition at line 123 of file xfs_dinode.h.

#define XFS_DFORK_BOFF (   dip)    ((int)((dip)->di_forkoff << 3))

Definition at line 117 of file xfs_dinode.h.

#define XFS_DFORK_DPTR (   dip)    ((char *)(dip) + sizeof(struct xfs_dinode))

Definition at line 135 of file xfs_dinode.h.

#define XFS_DFORK_DSIZE (   dip,
  mp 
)
Value:
(XFS_DFORK_Q(dip) ? \
XFS_DFORK_BOFF(dip) : \

Definition at line 119 of file xfs_dinode.h.

#define XFS_DFORK_FORMAT (   dip,
  w 
)
Value:
((w) == XFS_DATA_FORK ? \
(dip)->di_format : \
(dip)->di_aformat)

Definition at line 142 of file xfs_dinode.h.

#define XFS_DFORK_NEXTENTS (   dip,
  w 
)
Value:
((w) == XFS_DATA_FORK ? \
be32_to_cpu((dip)->di_nextents) : \
be16_to_cpu((dip)->di_anextents))

Definition at line 146 of file xfs_dinode.h.

#define XFS_DFORK_PTR (   dip,
  w 
)    ((w) == XFS_DATA_FORK ? XFS_DFORK_DPTR(dip) : XFS_DFORK_APTR(dip))

Definition at line 139 of file xfs_dinode.h.

#define XFS_DFORK_Q (   dip)    ((dip)->di_forkoff != 0)

Definition at line 116 of file xfs_dinode.h.

#define XFS_DFORK_SIZE (   dip,
  mp,
  w 
)
Value:
((w) == XFS_DATA_FORK ? \
XFS_DFORK_DSIZE(dip, mp) : \
XFS_DFORK_ASIZE(dip, mp))

Definition at line 127 of file xfs_dinode.h.

#define XFS_DIFLAG_ANY
Value:
XFS_DIFLAG_IMMUTABLE | XFS_DIFLAG_APPEND | XFS_DIFLAG_SYNC | \
XFS_DIFLAG_NOATIME | XFS_DIFLAG_NODUMP | XFS_DIFLAG_RTINHERIT | \
XFS_DIFLAG_PROJINHERIT | XFS_DIFLAG_NOSYMLINKS | XFS_DIFLAG_EXTSIZE | \
XFS_DIFLAG_EXTSZINHERIT | XFS_DIFLAG_NODEFRAG | XFS_DIFLAG_FILESTREAM)

Definition at line 209 of file xfs_dinode.h.

#define XFS_DIFLAG_APPEND   (1 << XFS_DIFLAG_APPEND_BIT)

Definition at line 191 of file xfs_dinode.h.

#define XFS_DIFLAG_APPEND_BIT   4 /* inode is append-only */

Definition at line 176 of file xfs_dinode.h.

#define XFS_DIFLAG_EXTSIZE   (1 << XFS_DIFLAG_EXTSIZE_BIT)

Definition at line 198 of file xfs_dinode.h.

#define XFS_DIFLAG_EXTSIZE_BIT   11 /* inode extent size allocator hint */

Definition at line 183 of file xfs_dinode.h.

#define XFS_DIFLAG_EXTSZINHERIT   (1 << XFS_DIFLAG_EXTSZINHERIT_BIT)

Definition at line 199 of file xfs_dinode.h.

#define XFS_DIFLAG_EXTSZINHERIT_BIT   12 /* inherit inode extent size */

Definition at line 184 of file xfs_dinode.h.

#define XFS_DIFLAG_FILESTREAM   (1 << XFS_DIFLAG_FILESTREAM_BIT)

Definition at line 201 of file xfs_dinode.h.

#define XFS_DIFLAG_FILESTREAM_BIT   14 /* use filestream allocator */

Definition at line 186 of file xfs_dinode.h.

#define XFS_DIFLAG_IMMUTABLE   (1 << XFS_DIFLAG_IMMUTABLE_BIT)

Definition at line 190 of file xfs_dinode.h.

#define XFS_DIFLAG_IMMUTABLE_BIT   3 /* inode is immutable */

Definition at line 175 of file xfs_dinode.h.

#define XFS_DIFLAG_NEWRTBM   (1 << XFS_DIFLAG_NEWRTBM_BIT)

Definition at line 189 of file xfs_dinode.h.

#define XFS_DIFLAG_NEWRTBM_BIT   2 /* for rtbitmap inode, new format */

Definition at line 174 of file xfs_dinode.h.

#define XFS_DIFLAG_NOATIME   (1 << XFS_DIFLAG_NOATIME_BIT)

Definition at line 193 of file xfs_dinode.h.

#define XFS_DIFLAG_NOATIME_BIT   6 /* do not update atime */

Definition at line 178 of file xfs_dinode.h.

#define XFS_DIFLAG_NODEFRAG   (1 << XFS_DIFLAG_NODEFRAG_BIT)

Definition at line 200 of file xfs_dinode.h.

#define XFS_DIFLAG_NODEFRAG_BIT   13 /* do not reorganize/defragment */

Definition at line 185 of file xfs_dinode.h.

#define XFS_DIFLAG_NODUMP   (1 << XFS_DIFLAG_NODUMP_BIT)

Definition at line 194 of file xfs_dinode.h.

#define XFS_DIFLAG_NODUMP_BIT   7 /* do not dump */

Definition at line 179 of file xfs_dinode.h.

#define XFS_DIFLAG_NOSYMLINKS   (1 << XFS_DIFLAG_NOSYMLINKS_BIT)

Definition at line 197 of file xfs_dinode.h.

#define XFS_DIFLAG_NOSYMLINKS_BIT   10 /* disallow symlink creation */

Definition at line 182 of file xfs_dinode.h.

#define XFS_DIFLAG_PREALLOC   (1 << XFS_DIFLAG_PREALLOC_BIT)

Definition at line 188 of file xfs_dinode.h.

#define XFS_DIFLAG_PREALLOC_BIT   1 /* file space has been preallocated */

Definition at line 173 of file xfs_dinode.h.

#define XFS_DIFLAG_PROJINHERIT   (1 << XFS_DIFLAG_PROJINHERIT_BIT)

Definition at line 196 of file xfs_dinode.h.

#define XFS_DIFLAG_PROJINHERIT_BIT   9 /* create with parents projid */

Definition at line 181 of file xfs_dinode.h.

#define XFS_DIFLAG_REALTIME   (1 << XFS_DIFLAG_REALTIME_BIT)

Definition at line 187 of file xfs_dinode.h.

#define XFS_DIFLAG_REALTIME_BIT   0 /* file's blocks come from rt area */

Definition at line 172 of file xfs_dinode.h.

#define XFS_DIFLAG_RTINHERIT   (1 << XFS_DIFLAG_RTINHERIT_BIT)

Definition at line 195 of file xfs_dinode.h.

#define XFS_DIFLAG_RTINHERIT_BIT   8 /* create with realtime bit set */

Definition at line 180 of file xfs_dinode.h.

#define XFS_DIFLAG_SYNC   (1 << XFS_DIFLAG_SYNC_BIT)

Definition at line 192 of file xfs_dinode.h.

#define XFS_DIFLAG_SYNC_BIT   5 /* inode is written synchronously */

Definition at line 177 of file xfs_dinode.h.

#define XFS_DINODE_GOOD_VERSION (   v)    (((v) == 1 || (v) == 2))

Definition at line 22 of file xfs_dinode.h.

#define XFS_DINODE_MAGIC   0x494e /* 'IN' */

Definition at line 21 of file xfs_dinode.h.

#define XFS_DINODE_MAX_LOG   11

Definition at line 100 of file xfs_dinode.h.

#define XFS_DINODE_MAX_SIZE   (1 << XFS_DINODE_MAX_LOG)

Definition at line 102 of file xfs_dinode.h.

#define XFS_DINODE_MIN_LOG   8

Definition at line 99 of file xfs_dinode.h.

#define XFS_DINODE_MIN_SIZE   (1 << XFS_DINODE_MIN_LOG)

Definition at line 101 of file xfs_dinode.h.

#define XFS_IS_REALTIME_INODE (   ip)    (0)

Definition at line 206 of file xfs_dinode.h.

#define XFS_LITINO (   mp)    ((int)(((mp)->m_sb.sb_inodesize) - sizeof(struct xfs_dinode)))

Definition at line 107 of file xfs_dinode.h.

#define XFS_MAXLINK   ((1U << 31) - 1U)

Definition at line 82 of file xfs_dinode.h.

#define XFS_MAXLINK_1   65535U

Definition at line 83 of file xfs_dinode.h.

Typedef Documentation

Enumeration Type Documentation

Enumerator:
XFS_DINODE_FMT_DEV 
XFS_DINODE_FMT_LOCAL 
XFS_DINODE_FMT_EXTENTS 
XFS_DINODE_FMT_BTREE 
XFS_DINODE_FMT_UUID 

Definition at line 88 of file xfs_dinode.h.

Function Documentation

struct xfs_dinode __attribute__ ( (packed)  )
read

mcontroller : adapter info structure for old mimd_t apps

: base address : irq number : number of logical drives : pci bus : pci device : pci function : pci id : vendor id : slot number : unique id

Definition at line 171 of file esd_usb2.c.

Variable Documentation

__s8 di_aformat

Definition at line 95 of file xfs_dinode.h.

__be16 di_anextents

Definition at line 93 of file xfs_dinode.h.

xfs_timestamp_t di_atime

Definition at line 86 of file xfs_dinode.h.

xfs_timestamp_t di_ctime

Definition at line 88 of file xfs_dinode.h.

__be32 di_dmevmask

Definition at line 96 of file xfs_dinode.h.

__be16 di_dmstate

Definition at line 97 of file xfs_dinode.h.

__be32 di_extsize

Definition at line 91 of file xfs_dinode.h.

__be16 di_flags

Definition at line 98 of file xfs_dinode.h.

__be16 di_flushiter

Definition at line 85 of file xfs_dinode.h.

__u8 di_forkoff

Definition at line 94 of file xfs_dinode.h.

__u8 di_format

Definition at line 77 of file xfs_dinode.h.

__be32 di_gen

Definition at line 99 of file xfs_dinode.h.

__be32 di_gid

Definition at line 80 of file xfs_dinode.h.

__be16 di_magic

Definition at line 74 of file xfs_dinode.h.

__be16 di_mode

Definition at line 75 of file xfs_dinode.h.

xfs_timestamp_t di_mtime

Definition at line 87 of file xfs_dinode.h.

__be64 di_nblocks

Definition at line 90 of file xfs_dinode.h.

__be32 di_next_unlinked

Definition at line 102 of file xfs_dinode.h.

__be32 di_nextents

Definition at line 92 of file xfs_dinode.h.

__be32 di_nlink

Definition at line 81 of file xfs_dinode.h.

__be16 di_onlink

Definition at line 78 of file xfs_dinode.h.

__u8 di_pad[6]

Definition at line 84 of file xfs_dinode.h.

__be16 di_projid_hi

Definition at line 83 of file xfs_dinode.h.

__be16 di_projid_lo

Definition at line 82 of file xfs_dinode.h.

__be64 di_size

Definition at line 89 of file xfs_dinode.h.

__be32 di_uid

Definition at line 79 of file xfs_dinode.h.

__u8 di_version

Definition at line 76 of file xfs_dinode.h.